当前位置: 首页 > 知识库问答 >
问题:

Keycloak在调用/logoutendpoint后未注销标识提供程序

谢华彩
2023-03-14

我正在尝试使用Keycloak(13.0.1)作为身份代理。我有一个iOS应用程序,它使用keycloak通过OIDC标识提供程序登录,然后使用令牌访问spring-boot后端。

我的问题是,我无法让keycloak注销也将用户从标识提供者会话中注销。

我花了几天时间在谷歌上搜索这个问题,并查看了stackoverflow和keycloak的讨论页面和git repo,但我找不到具体问题的答案。

以下是我的IDP配置:

还要注意,在keycloak admin guied中,指定了在触发注销时keycloak应该注销IDPs,因此我似乎不应该进行任何特殊配置:

https://www.keycloak.org/docs/latest/server_admin/#identity-broker-logout

共有1个答案

罗伟志
2023-03-14

它成功地将我重定向到标识提供程序登录页面

那个重定向是关键。它打开一个浏览器,在那里创建Keycloak cookie,这就是您的IdP会话。您必须在同一浏览器中打开Keycloak/logoutendpoint,这样Keycloak才能清除自己的Keycloak cookie。

摘要:您必须打开/重定向(API调用不起作用)用户到与您登录时使用的注销endpoint相同的浏览器(API调用不起作用)。当然,对于某些特殊的流可能不是这样,但它应该适用于标准授权代码(有/没有PKCE)。

 类似资料:
  • 我有一个注册了< code>Keycloak的外部< code>openidconnect身份提供者。当客户端应用程序试图访问受保护的资源时,它会被重定向到< code>KeyCloak登录页面。在登录页面上,我启用了外部< code>openidconnect提供程序按钮。一旦用户单击该按钮,他将被带到外部身份提供者(即identityserver3实例)。外部提供商对用户进行身份验证并发回一个

  • 我在KeyCloak上有两种自定义身份验证方法。 其中之一是自定义实现的用户联合。我为X王国配置了它。系统使用此实现以用户名/密码的方式进行登录。此实现调用我的联邦服务并验证发送的用户。它成功地工作并对联邦用户进行身份验证。 请分享你的经验。谢谢

  • 我有一个keydove和一个已连接的AzureAD实例,但我只希望AzureAD上具有组“App User”的用户能够使用我的应用程序。这是怎么回事? 提前谢谢!

  • 我正在使用Pact Go实现来尝试合同测试。我做了一个不起作用的提供者测试,因为我需要模拟我的服务对Twilio的请求。 我已经为我的消费者和这个提供者之间的契约创建了一个Pact对象,然后为我的提供者和twilio之间的契约创建了另一个称为twilioPact的对象。我已经为Twilioendpoint添加了一个POST的交互,但是在pact.log中我没有看到它被注册。我的测试正确地发出了请求

  • 我正在将Keycloak作为身份代理运行,并配置了一个身份提供程序。 当具有来自我的IdP的有效令牌的用户第一次访问我的应用程序时,该用户将使用来自该令牌的信息在Keycloak中创建。这包括电子邮件、用户名、名字和名字。然后Keycloak发出带有用户信息的令牌。 当同一用户随后登录时,将根据Keycloak数据库中的用户信息精心编制Keycloak令牌。 我的问题是这样的:如果用户在IdP更改