2017-08-03 2 views
1

Meine Anwendung verwendet Spring Security Oauth2 mit JWTToken.Spring Oauth2 Antwort bei ungültiger Token-Ausnahme ändern

Ich versuche, den Körper der Antwort zu ändern, wenn sie den Fehler 401 zurück, das passiert, wenn ein nicht authentifizierter Benutzer versucht, auf Daten zuzugreifen:

{ 
    "error": "invalid_token", 
    "error_description": "Cannot convert access token to JSON" 
} 

Um dies zu tun, ich meine eigenen umgesetzt und ich habe es in meinem Authentification Einspeisepunkt wie folgt aus:

@Configuration 
@EnableAuthorizationServer 
public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter { 

    @Override 
    public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
     oauthServer.authenticationEntryPoint(authenticationEntryPoint()); 
    } 

    @Bean 
    public AuthenticationEntryPoint authenticationEntryPoint() { 
     OAuth2AuthenticationEntryPoint authenticationEntryPoint = new OAuth2AuthenticationEntryPoint(); 
     authenticationEntryPoint.setExceptionTranslator(new CustomWebResponseExceptionTranslator()); 
     return authenticationEntryPoint; 
    } 
} 

es ist jedoch weiterhin den Standard zu verwenden. Also, meine Frage ist, wie kann ich ihn zwingen, meins zu benutzen?

Antwort

0

Wenn Sie verwendet, sollten Sie es in AuthorizationServerEndpointsConfigurer so:

@Override 
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception { 
    TokenEnhancerChain enhancerChain = new TokenEnhancerChain(); 
    enhancerChain.setTokenEnhancers(Arrays.asList(accessTokenConverter)); 
    endpoints.tokenStore(tokenStore) 
      .accessTokenConverter(accessTokenConverter) 
      .tokenEnhancer(enhancerChain) 
      .authenticationManager(authenticationManager) 
      .userDetailsService(userDetailsService) 
      .exceptionTranslator(webResponseExceptionTranslator()); 
Verwandte Themen