当前位置:  开发笔记 > 前端 > 正文

Keycloak客户端凭证流程澄清

如何解决《Keycloak客户端凭证流程澄清》经验,为你挑选了1个好方法。

我正在使用Keycloak服务器来实现SSO.我能够使用client_credentials流获取特定客户端的访问令牌.

然而,我的观察是,访问令牌被授予内部服务帐户的的客户端.我想获得访问令牌其他用户存在的领域通过提供一些额外的参数令牌端点.

以下是我使用Postman Chrome扩展程序令牌端点发出当前请求:

POST http://localhost:8080/auth/realms//protocol//token

x-www-form-urlencoded

grant_type        client_credentials
client_id         
client_secret     

如果可能,请告诉我.此外,我想传达一下,这对Keycloakopenid-connect协议来说是全新的.



1> Xtreme Biker..:

我认为你在这里误解了一些Oauth概念.该client_credentials补助只能用于服务本身授予访问的特定资源.想象一下这种情况:

最终用户 - >文档服务 - >文档回购

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

但是,docs服务需要具有对repo的完全访问权限.他可以访问他要求的任何文件.解决方案是为docs服务提供服务帐户角色,假设DOC_MANAGER并在请求资源时对此角色进行repo检查.该服务使用client_credentials进行身份验证,并作为服务访问该资源.

但最终用户将使用授权代码流执行标准登录,例如,通过该服务访问doc.该服务将检查另一个角色,假设DOC_USER并在进入回购之前检查用户是否可以访问此具体资源.

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

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有