我已经在 oauth_client_details 表中配置了一些附加信息,我需要将其作为访问 token 响应中的附加数据发送。
尝试调用OAuth2AccessToken.getAdditionalInformation()
,结果为空
有人可以解释一下
的用法吗Map<String, Object> getAdditionalInformation() in org.springframework.security.oauth2.provider.ClientDetails
最佳答案
我最终这样做了
@Component
public class ClTokenEnhancer implements TokenEnhancer {
private ClientDetailsService clientDetailsService;
public ClTokenEnhancer( ClientDetailsService clientDetailsService ) {
this.clientDetailsService = clientDetailsService;
}
@Override
public OAuth2AccessToken enhance( OAuth2AccessToken accessToken, OAuth2Authentication authentication ) {
ClientDetails clientDetails = clientDetailsService.loadClientByClientId( authentication.getOAuth2Request().getClientId() );
( (DefaultOAuth2AccessToken) accessToken ).setAdditionalInformation( clientDetails.getAdditionalInformation() );
return accessToken;
}
}
关于java - 是否可以在TokenEnhancer中获取ClientDetails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380840/