我的问题在这一点上更理论化。
我有一个用例,我必须将我的应用程序(App 1)与Keycloak集成,并将Keycloak与外部身份提供者集成。在这种情况下,奇克洛只是一个经纪人。该外部IDP上还注册了其他应用程序。
场景1:用户既没有登录App 1,也没有登录IDP
当用户尝试访问App 1时,它最终被重定向到外部IDP登录表单并发布身份验证,它将被重定向回应用程序。这是一个简单的流程。
场景2:用户已登录IDP
当用户已经登录到IDP,会话处于活动状态并且现在访问App 1时会发生什么。它是否还会显示登录表单,或者最终会重定向到App 1而不提示输入用户名和密码?
只有在这种情况下,真正的单点登录才是可能的,因为不是每个应用程序都必须经过相同的键盘锁(有些应用程序可以直接与外部IDP集成)
应用程序通常重定向到授权的密钥锁。Keycloak检测有效的IDP会话(来自cookie ),它直接返回代码/令牌,而不要求用户凭证。
但通常情况下,“这取决于”。您的应用程序中可能有奇怪的“SSO”实现(例如直接授权流),您可能在您的应用程序/登录中使用ifra,您可能在密钥库中配置了自定义身份验证流,…所有这些都可能破坏默认的SSO行为。但默认情况下,SAML/OIDC是SSO协议。
我有一个需要联合到IDP的需求。我过去从未遇到过问题,在这种情况下,我遇到了问题,因为第三方/外部IDP启用并实施了PKCE。 有没有办法联合到启用了PKCE的IDP。基本上换句话说,我应该能够转发/发送code_challenge和code_challenge_method给外部 IDP。我可以在我的 IDP 上启用 PKCE,而不会出现任何问题,并在需要时将相同的标头转发给外部 IDP,但我看
我有一个spring boot应用程序,它隐藏在反向代理后面。当用户未经授权向资源发送请求时,会将其重定向到Keyclope登录页面,并将redirect\u uriparam设置为,例如http://some_url/sso/login(URL始终相对于上下文路径)。我需要将此URL更改为类似于,以便反向代理知道将此类请求重定向到哪里。你知道如何做到这一点吗?是否有任何keydeport适配器配
我正在使用SAML和外部IdP实现SSO选项。如果我在单击浏览器中的SSO按钮后检查收到的SAML响应,我可以看到所需的身份验证数据(如用户名和电子邮件),因此与IdP的通信工作正常。 然而,Keycloak并不执行登录,并显示给我一个页面,上面写着:“我们很抱歉...登录超时,请重新登录。”,并且没有新用户注册。我的领域中令牌的登录超时设置为30分钟。 查看日志时,我发现了以下错误: 我发现这可
我试图使用Keycloak的openId-connectendpoint来获取关于用户角色的信息。我使用/auth/realms/moje/protocol/OpenID-connect/userinfoendpoint来获取关于已验证用户的信息。我可以获得姓名、用户名、电子邮件等信息。但是我不能强迫Keyclak给我关于用户角色的信息。 我已经阅读了openID文档,我没有找到任何关于必须获取角
我正在我的应用程序(app1)中使用KeyClope(版本8.0.1)作为身份代理。在我的应用程序中,用户可以使用外部idp(谷歌、fb)或从我们的登录页面进行签名。现在,我设置了另一个keyclope实例,并使用OIDC将其配置为IDP。它工作得很好。 如果用户已准备就绪,请登录外部idp(谷歌、fb),并从app2的网页上单击我的应用程序(app1)。有没有办法,我可以自动让用户进入,而不是将
我用这个例子:https://github.com/foo4u/keycloak-spring-demo 我有钥匙斗篷。json文件在我的WEB-INF文件夹中,但当我运行应用程序时,会出现以下异常: 此异常的完整堆栈: 这段代码只是Spring Boot和KeyCloak集成的一个例子。 你能告诉我我做错了什么吗? 谢谢你的回答和时间。