gpt4 book ai didi

openid-connect - Keycloak 客户凭证流程说明

转载 作者:行者123 更新时间:2023-12-03 22:43:52 25 4
gpt4 key购买 nike

我正在使用 key 斗篷 服务器来实现 SSO。我可以得到 访问 token 对于使用 的特定客户客户凭证 流动。

但是,我的观察是访问 token 被授予 内部服务帐号客户 .我想得到 访问 token 对于 其他用户出现在 领域 通过提供一些 附加参数到 token 端点。

以下是当前请求 我给 token 端点 使用 postman Chrome 扩展程序 :

POST http://localhost:8080/auth/realms/<realm>/protocol/<protocol>/token

x-www-form-urlencoded

grant_type client_credentials
client_id <client_id>
client_secret <client_secret>

如果可能,请告诉我。另外,我想向 传达这点是全新的。 key 斗篷 openid 连接 协议(protocol)。

最佳答案

我认为您在这里误解了一些 Oauth 概念。 client_credentials 授权只能用于服务本身以授予对特定资源的访问权限。想象一下这个场景:

最终用户 -> 文档服务 -> 文档存储库

最终用户可以通过 docs 服务访问存储在 repo 中的一些文档。在这种情况下,服务会决定是否授予用户访问特定文档的权限,因为 repo 只是一个内容服务器。显然,它们都通过两个不同的 keycloak 客户端进行保护。

但是,文档服务需要有 完全访问权限到 repo 。他可以访问他要求的任何文件。解决方案是给文档服务一个服务帐户角色,比如说 DOC_MANAGER,并在请求资源时让 repo 检查这个角色。该服务使用 client_credentials 进行身份验证并获得对资源 的访问权限作为服务 .

但最终用户将使用 Authorization code flow 执行标准登录。 ,例如,并通过服务访问文档。该服务将检查另一个角色,比如 DOC_USER 并检查用户是否有权访问该具体资源,然后再转到 repo。

您可以阅读有关 keycloak 服务帐户的更多信息 here .

关于openid-connect - Keycloak 客户凭证流程说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756879/

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