2017-09-28 5 views
0

Je suis nouveau printempsSpring Boot Sécurité comment vérifier/vérifier le jeton d'accès

J'ai implémenté le flux implicite OAuth2 en utilisant la sécurité de printemps. La question est de savoir comment vérifier la validité du jeton? J'ai trouvé oauth/check_token point de terminaison mais d'abord je ne pouvais pas l'atteindre. Ensuite, je l'ai fait le changement suivant:

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

Une fois la configuration que je peux utiliser endpoint check_token mais je me demande s'il est correct d'utiliser permitAll sur le point de terminaison. J'ai essayé de le changer en isAuthenticated mais dans ce cas je ne suis pas en mesure d'atteindre le point de terminaison car je ne stocke pas client_secret sur mon application frontend.

Dois-je continuer à utiliser permitAll ou il y a un meilleur moyen?

Répondre

2

Vous devez vérifier l'accès lors de l'utilisation de oAuth.

Essayez ci-dessous si le code fonctionne,

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

Si ne pas, s'il vous plaît partager votre sécurité des extraits connexes. Codage heureux :)

+1

Merci, cela fonctionne, pourriez-vous s'il vous plaît expliquer quelle est la différence entre 'tokenKeyAccess' et' checkTokenAccess'? Et pourquoi est-ce mieux alors de mettre 'checkTokenAccess' à' permitAll'? –

+0

Heureux que ça a marché pour vous. Eh bien, tokenKeyAccess et checkTokenAccess s'appliquent à différentes entités. isAuthenticated() est là pour vous permettre d'autoriser l'accès aux utilisateurs authentifiés, quels que soient leurs rôles, et permitAll() est là pour permettre toutes les demandes d'origine. Avait déjà expliqué des choses détaillées dans ma réponse, sincères excuses pour jeter inconsciemment. :( –

+0

Vous pouvez upvote/marquer comme répondre si :) –