2016-06-23 7 views
0

私たちのアプリでは、クライアント証明書を使用して認証されたクライアントだけがトークンの有効性をチェックできるようにcheck_tokenエンドポイントをロックします。Javaコンフィグレーションを使用して承認サーバーエンドポイントのSpring OAuth2式ハンドラメソッドをコンフィグレーションする

ドキュメントでは、@EnableResourceServerを使用すると、式ハンドラがデフォルトで有効になっており、xmlを使用して式の扱いを設定する方法について説明しています。 Javaの設定を使用して以下の式を評価するには、何が必要ですか?

@Configuration 
@EnableAuthorizationServer 
public class OAuth2AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter { 

    ... 

    @Override 
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception { 
     security.checkTokenAccess("#oauth2.isClient()"); 
    } 

    ... 
} 

答えて

2

次はきれいではありませんが、動作するようです。

@EnableGlobalAuthentication 
@Configuration 
//@EnableAuthorizationServer 
@Import({OAuth2AuthorizationServerConfiguration.SecurityConfiguration.class, AuthorizationServerEndpointsConfiguration.class}) 
public class OAuth2AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter { 


    @Configuration 
    public static class SecurityConfiguration extends AuthorizationServerSecurityConfiguration { 

     @Override 
     protected void configure(HttpSecurity http) throws Exception { 
      http.authorizeRequests().expressionHandler(new OAuth2WebSecurityExpressionHandler()); 
      super.configure(http); 
     } 
    } 

AuthorizationServerSecurityConfiguration発現ハンドラを挿入する必要がある場合であるHttpSecurityオブジェクトへのアクセスを提供します。

手順:

  • サブクラスAuthorizationServerSecurityConfiguration
  • 表現ハンドラを設定し(それもAuthorizationServerSecurityConfigurationをインポートするので)
  • @EnableAuthorizationServer注釈をドロップAuthorizationServerSecurityConfiguration
  • 輸入AuthorizationServerEndpointsConfigurationの新しいサブクラスをインポートする(それがでした最初に輸入した人:@EnableAuthorizationServer
関連する問題