2017-08-03 18 views
1

私のアプリケーションは、JWTTokenでSpring Security Oauth2を使用しています。Spring Oauth2無効なトークン例外の応答を修正する

私はそれが認証されていないユーザーがデータにアクセスしようとしたときに起こるエラー401、返したときに応答の本文を修正しようとしている。これを行うには

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

を、私は自分自身を実装し、私はこのように私の真偽エントリポイントでそれを設定します。

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

しかし、それはデフォルトを継続して使用します。だから、私の質問は、私が彼に私の使用を強制することができますか?

答えて

0

あなたがを使用した場合は、このようなAuthorizationServerEndpointsConfigurerにそれを置く必要があります。

@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()); 
関連する問題