更改客户端凭据授予流的令牌中的preferred_username



我正在为我们的一个产品使用Keycloft。我们使用客户端凭据授予流来获取服务对服务通信的访问令牌。问题是,preferred_username被返回为service_account_<clientname>。我们的产品还有一个服务帐户(例如_service(,它需要嵌入到令牌中,这样我们就有了针对该服务帐户的活动日志。

所以我的问题是:

  1. 我是否为用例使用了正确的授权流
  2. 我们可以将请求中的某些内容嵌入到令牌中吗。令牌端点是否在负载中具有可以添加到令牌的附加属性

所以我的问题是,

  1. 我是否为用例使用了正确的授权流

根据OAuth 2.0客户端凭据授予

客户端凭据授予类型用于获取用户上下文之外的访问令牌。

这通常由客户端用于访问有关其自身的资源而不是访问用户的资源。

根据您的要求:

获取服务对服务通信的访问令牌

如果没有更多上下文,我会说是的,您正在使用适当的流。

  1. 我们可以将请求中的某些内容嵌入到令牌中吗。令牌端点是否在有效负载中具有可以添加到令牌中

根据要添加到令牌的内容,您可以简单地使用协议映射器。

一些映射器已经提供了要注入到令牌中的预定义声明,还可以通过扩展Key斗篷代码或利用脚本映射器功能来制作自己的协议映射器(更多详细信息请参阅官方文档(。

另一种方法是使用密钥斗篷UMA流量推送索赔功能。在其中,您将您的声明放入到令牌端点的请求中,并获得一个令牌作为回报(如果成功验证(,其中注入了这些声明。

最新更新