J'ai beaucoup lu sur OAuth2 en essayant de m'en sortir, mais je suis toujours confus à propos de quelque chose.
Je comprends que le client autorise le fournisseur OAuth (Google par exemple) et autorise le serveur de ressources à accéder aux données de profil de l'utilisateur. Ensuite, le client peut envoyer le jeton d'accès au serveur de ressources et récupérer la ressource.
Mais ce qui ne semble pas être couvert dans la documentation est ce qui se passe lorsque l'application cliente demande au serveur de ressources une ressource et lui transmet le jeton d'accès. Tout ce que j'ai lu jusqu'à présent indique que le serveur de ressources répond simplement avec la ressource demandée.
Mais cela semble être un énorme trou, le serveur de ressources doit sûrement valider le jeton d'accès, sinon je pourrais simuler n'importe quelle ancienne demande et transmettre un ancien jeton, volé, faux ou généré de manière aléatoire et il l'accepterait simplement.
Quelqu'un peut-il m'indiquer une explication simple à suivre de OAuth2 parce que jusqu'à présent, celles que j'ai lues sont incomplètes.
La validation des jetons est généralement gérée de 1 à 2 façons.
1) Le jeton est signé cryptographiquement à l'aide de clés pré-partagées. Cela présente des lacunes évidentes pour une utilisation dans des systèmes distribués et proliférants.
2) Le serveur d'autorisation (AS) fournit un point de terminaison pour la validation des jetons ou l'introspection. Cette méthode a été normalisée dans IETF RFC 7662 en octobre 2015, voir: https://tools.ietf.org/html/rfc7662
Cette question / réponse sur le débordement de pile comprend des exemples de Google et Github: /programming/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server
la source
vous lisez les spécifications pour savoir comment valider le jeton:
https://tools.ietf.org/html/rfc7662
j'espère que cela vous aide - merci de le marquer s'il répond à votre requête / problème
la source