2017-08-19 104 views
5

: MaalesefAuthorizationServerSecurityConfigurer nasıl kullanılır? Bu kodu olan bir bahar önyükleme projesinde bakıyorum

public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer 
     .tokenKeyAccess("permitAll()") 
     .checkTokenAccess("isAuthenticated()"); 
} 

, nasıl bana açıklıyor yerde (yani Google, Bahar dokümanlar, Bahar oauth docs) tüm kaynakları bulmak mümkün değilim Aslında AuthorizationServerSecurityConfigurer kullanın. Dahası, tam olarak tokenKeyAccess("permitAll()") veya checkTokenAccess("isAuthenticated()")'un ne yaptığını anlamıyorum.

Bu iki işlevin ne yaptığını anlamama yardımcı olmanın dışında, lütfen gelecekte bu tür bilgileri arayacağımı öğrenmeme yardımcı olun.

cevap

7

Yay Güvenliği OAuth, simgeleri (/oauth/check_token ve /oauth/token_key) denetlemek için iki uç noktayı ortaya çıkarır. Bu uç noktalar varsayılan olarak açık değildir ("denyAll()" erişimine sahip).

Yani bu son nokta ile belirteçleri doğrulamak istiyorsanız size yetki sunucularının yapılandırmasına Bu eklemek gerekecek:

@Override 
public void configure(AuthorizationServerSecurityConfigurer oauthServer) throws Exception { 
    oauthServer.tokenKeyAccess("isAnonymous() || hasAuthority('ROLE_TRUSTED_CLIENT')") 
       .checkTokenAccess("hasAuthority('ROLE_TRUSTED_CLIENT')"); 
} 

Bazı daha fazla ayrıntı

"Resource Server Configuration" section of the Spring Security OAuth2 documentation bulunabilir.