Претензии по JWT устанавливаются за пределами - PullRequest
0 голосов
/ 05 октября 2018

Я создаю загрузочное приложение Oauth2 Spring (на основе https://www.baeldung.com/spring-security-oauth-jwt),, и когда я запрашиваю токен, ответ выглядит так:

{"access_token": "eyJhb ..... "," token_type ":" bearer "," refresh_token ":" eyJhb ..... "," expires_in ": 43199," scope ":" foo read write "," Claim 1 ":" Информационное требование1 "," Заявка 2 ":" Информационная заявка 2 "," jti ":" 22c535eb-16f5-4bc5-bda4-6026b2183381 "}

Маркер доступа сам по себе является правильным (с пользовательскими утверждениямивнутри), но претензии также не учитываются в ответе, это правильно ?, как я могу их удалить?

Это класс авторизации:

public class OAuth2AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
    @Autowired
    private AuthenticationManager authenticationManager;

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.tokenServices(tokenServices())
                .authenticationManager(authenticationManager);
    }

// some clients are created here

    @Bean
    public TokenStore tokenStore() {
        return new InMemoryTokenStore();
    }
    @Bean
    public TokenEnhancer tokenEnhancer() {          
        return new CustomTokenEnhancer();
    }


    @Bean
    @Primary
    public DefaultTokenServices tokenServices() {    
        DefaultTokenServices defaultTokenServices = new DefaultTokenServices();
        defaultTokenServices.setTokenStore(tokenStore());
        defaultTokenServices.setTokenEnhancer(tokenEnhancer());     
        defaultTokenServices.setSupportRefreshToken(true);          
        return defaultTokenServices;
    }

И этоКласс Enhancer:

public class CustomTokenEnhancer extends JwtAccessTokenConverter {

    public CustomTokenEnhancer() {
        super.setSigningKey("123");
    }

    @Override
    public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
        Map<String, Object> additionalInfo = new HashMap<>();
        additionalInfo.put("Claim 1", "Info claim 1");
        additionalInfo.put("Claim 2", "Info claim 2");
        ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);      
        return  super.enhance(accessToken, authentication);
    }

}

Заранее спасибо ..

...