5

Je suis à la recherche à un projet de démarrage de printemps qui a ce code:Comment utiliser AuthorizationServerSecurityConfigurer?

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

Malheureusement, je ne suis pas en mesure de trouver des ressources partout (c.-à-Google, docs de printemps, docs OAuth Spring) qui me explique comment effectivement utiliser AuthorizationServerSecurityConfigurer. De plus, je ne comprends pas exactement ce que font tokenKeyAccess("permitAll()") ou checkTokenAccess("isAuthenticated()").

En plus de m'aider à comprendre ce que ces deux fonctions font, s'il vous plaît aidez-moi à savoir où chercher ces types d'informations à l'avenir.

Répondre

7

Sécurité de sécurité OAuth expose deux points d'extrémité pour la vérification des jetons (/oauth/check_token et /oauth/token_key). Ces points de terminaison ne sont pas exposés par défaut (accès "denyAll()").

Donc, si vous voulez vérifier les jetons avec ce point final, vous devrez ajouter à la configuration de vos serveurs d'autorisation:

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

Quelques détails se trouvent dans le "Resource Server Configuration" section of the Spring Security OAuth2 documentation.