2

我对从前端服务到其他后端服务的其余调用使用“客户端凭据”授权类型。客户端凭据授予类型也在其他后端服务中使用。通过这样做,我无法知道谁是请求的实际调用者(当前登录用户)。有没有办法将主体的身份验证和授权信息注入到客户端凭据授予中颁发的令牌中?(用户信息是指拥有客户端凭据的用户的 ID 或详细信息)。我可以使用自定义令牌增强器向令牌添加一些自定义数据。但是我不知道如何在 principal( SpringSecurityPrincipal springSecurityPrincipal = (SpringSecurityPrincipal)oAuth2Authentication.getPrincipal();) 中获取它,通常在密码流中我们可以通过使用自定义来实现AuthenticationProvider像这样的实现是否有任何类可以实现并用于添加自定义主体?

谢谢您的帮助。

4

1 回答 1

0

您可以创建自定义UserDetailsServicePrincipal根据您的要求创建自定义。您可能会从这里挑选一些想法:Authentication with a Database-backed UserDetailsS​​ervice

于 2021-03-25T07:29:20.407 回答