【发布时间】:2017-12-27 14:52:02
【问题描述】:
我有一个在Keycloak 注册的外部openidconnect 身份提供者。当客户端应用程序尝试访问受保护的资源时,它会被重定向到KeyCloak 登录页面。在登录页面上,我启用了外部 openidconnect 提供程序按钮。一旦用户单击按钮,他就会被带到外部身份提供者(即 identityserver3 实例)。外部提供者确实对用户进行身份验证并发回代码。
现在外部身份提供者中注册客户端的重定向网址是 keycloak 的重定向网址。因此,在外部 IDP 身份验证成功后,它会将代码(因为它是身份验证代码流)发送回重定向 url 处的 keycloak:
在 URL 中,如果您看到它以 endpoint 结尾。我不认为这是正确的,但我无法在 KeyCloak 中更改它(它已被禁用)并且因为在外部 IDP 客户端配置中。
KeyCloak 不理解上面的 url 并出现错误消息“使用身份提供者进行身份验证时出现意外错误”
KeyCloak 不应该理解代码流程并在收到代码后再次请求令牌。然后外部 IDP 将使用令牌进行响应,Keycloak 会将该令牌发回给客户端(也将存储它以备将来使用)。
有人可以分享一些关于Keycloak 如何通过代码流与外部 openidconnect ID 提供者合作的知识。
【问题讨论】:
-
嗨。你有解决办法吗?
标签: identityserver3 openid-connect keycloak