【问题标题】:Is it possible to get the ClientDetails in TokenEnhancer是否可以在 TokenEnhancer 中获取 ClientDetails
【发布时间】:2020-04-10 08:18:12
【问题描述】:

我在 oauth_client_details 表中配置了一些附加信息,我需要将其作为访问令牌响应中的附加数据发送。

尝试调用OAuth2AccessToken.getAdditionalInformation(),但结果为空

谁能解释一下

Map<String, Object> getAdditionalInformation() in org.springframework.security.oauth2.provider.ClientDetails

【问题讨论】:

    标签: java spring oauth-2.0 spring-security-oauth2


    【解决方案1】:

    我最终这样做了

    @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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2015-07-16
      相关资源
      最近更新 更多