5

मैं जो इस कोड है एक स्प्रिंग बूट परियोजना से देख रहा हूँ:AuthorizationServerSecurityConfigurer का उपयोग कैसे करें?

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

दुर्भाग्य से, मुझे लगता है कि मेरे लिए बताते हैं कि कैसे करने के लिए कहीं भी (यानी गूगल, स्प्रिंग डॉक्स, स्प्रिंग OAuth डॉक्स) किसी भी संसाधनों को खोजने के लिए सक्षम नहीं हूँ वास्तव में AuthorizationServerSecurityConfigurer का उपयोग करें। इसके अलावा, मुझे समझ में नहीं आता कि tokenKeyAccess("permitAll()") या checkTokenAccess("isAuthenticated()") क्या करें।

मुझे समझने में मदद करने के अलावा कि ये दो कार्य क्या करते हैं, कृपया मुझे यह जानने में सहायता करें कि भविष्य में इन प्रकार की जानकारी कहां देखना है।

उत्तर

7

वसंत सुरक्षा ओएथ टोकन की जांच के लिए दो अंतराल का खुलासा करता है (/oauth/check_token और /oauth/token_key)। वे अंतराल डिफ़ॉल्ट रूप से प्रकट नहीं होते हैं ("denyAll()" तक पहुंच है)।

तो अगर आप इस endpoint वाले टोकन सत्यापित करना चाहते हैं आप अपना प्राधिकरण सर्वर config में जोड़ने के लिए होगा:

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

कुछ अधिक जानकारी के "Resource Server Configuration" section of the Spring Security OAuth2 documentation में पाया जा सकता।

संबंधित मुद्दे