web-dev-qa-db-fra.com

Comment utiliser AuthorizationServerSecurityConfigurer?

Je regarde un projet Spring boot qui a ce code:

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

Malheureusement, je ne trouve aucune ressource nulle part (par exemple, Google, Spring docs, Spring oauth docs) qui m'explique comment réellement utiliser AuthorizationServerSecurityConfigurer. De plus, je fais ne comprend pas exactement ce que font tokenKeyAccess("permitAll()") ou checkTokenAccess("isAuthenticated()").

En plus de m'aider à comprendre ce que font ces deux fonctions, veuillez m'aider à savoir où chercher ces types d'informations à l'avenir.

15
KZcoding

Spring Security OAuth expose deux points de terminaison pour vérifier les jetons ( /oauth/check_token et /oauth/token_key ). Ces points de terminaison ne sont pas exposés par défaut (ont accès à "denyAll ()").

Donc, si vous souhaitez vérifier les jetons avec ce point de terminaison, vous devrez l'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')");
}

Vous trouverez plus de détails dans la section "Configuration du serveur de ressources" de la documentation Spring Security OAuth2 .

23
koe