gpt4 book ai didi

identityserver3 - 带有 OpenIdConnect 外部身份提供商的 Keycloak

转载 作者:行者123 更新时间:2023-12-03 00:20:51 25 4
gpt4 key购买 nike

我有一个使用 Keycloak 注册的外部 openidconnect 身份提供商。当客户端应用程序尝试访问 protected 资源时,它会被重定向到 KeyCloak 登录页面。在登录页面上,我启用了外部 openidconnect 提供程序按钮。一旦用户单击按钮,他就会被带到外部身份提供者(即identityserver3实例)。外部提供商对用户进行身份验证并发回代码。

现在,外部身份提供商中注册客户端的重定向 URL 是 keycloak 的重定向 URL。因此,在外部 IDP 身份验证成功后,它会将代码(因为它是身份验证代码流)发送回重定向网址处的 keycloak:

http://localhost:5555/auth/realms/QA/broker/keycloak-client/endpoint?code=7bcf5157105199d50874e64eabf03858&state=wQhNIEKW0Ws6CotZg2EsvOorjDVQlWVvobcM2skPSXo.keycloak-client&session_state=rhgu-BXT8FniG9Z-UARKpp_f-V1nLN-VxFmSE3PSxDg.99b2d903367208e4261fefa475afb1eb

在 URL 中,如果您看到它以 endpoint 结尾。我认为这是不正确的,但我无法在 KeyCloak 中更改它(它已被禁用),并且因此在外部 IDP 客户端配置中。

KeyCloak 无法理解上述网址,并出现错误并显示消息“使用身份提供程序进行身份验证时出现意外错误”

KeyCloak 不是应该理解代码流程并在收到代码后再次请求 token 吗?然后外部 IDP 将使用 token 进行响应,Keycloak 将该 token 发送回客户端(还将存储它以供将来使用)。

有人可以分享一些有关 Keycloak 如何通过代码流与外部 openidconnect ID 提供程序配合使用的知识吗?

最佳答案

外部身份提供商的重定向 URI 通常采用 {keycloak-host}/auth/realms/{realm}/broker/{provider}/endpoint 的形式。当您在外部身份提供商中注册客户端时,必须将其指定为重定向 URI。一旦用户通过外部 IdP 进行身份验证,授权代码将被发送到此 url,该 url 又将其重定向到客户端应用程序的重定向 url(在 Keycloak 中注册客户端时指定)。

使用身份提供程序进行身份验证时出现意外错误 是 Keycloak 针对 OAuth 流程期间发生的多个错误发送的一般错误消息。如果不查看堆栈跟踪或提示中的日志,您将无法确定实际原因。

关于identityserver3 - 带有 OpenIdConnect 外部身份提供商的 Keycloak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45239591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com