Ich habe viel über OAuth2 gelesen und versucht, mich darum zu kümmern, aber ich bin immer noch verwirrt über etwas.
Ich verstehe, dass der Client beim OAuth-Anbieter (z. B. Google) autorisiert und dem Ressourcenserver Zugriff auf die Profildaten des Benutzers gewährt. Anschließend kann der Client das Zugriffstoken an den Ressourcenserver senden und die Ressource zurückgeben.
Was jedoch in keiner Dokumentation behandelt zu werden scheint, ist, was passiert, wenn die Client-App den Ressourcenserver nach einer Ressource fragt und ihm das Zugriffstoken übergibt. Alles, was ich bisher gelesen habe, besagt, dass der Ressourcenserver nur mit der angeforderten Ressource antwortet.
Aber das scheint eine große Lücke zu sein, sicherlich muss der Ressourcenserver das Zugriffstoken irgendwie validieren, sonst könnte ich einfach jede alte Anfrage fälschen und ein altes, gestohlenes, gefälschtes oder zufällig generiertes Token übergeben und es würde es einfach akzeptieren.
Kann mich jemand auf eine einfach zu befolgende Erklärung von OAuth2 hinweisen, da sich die bisher gelesenen unvollständig anfühlen?
Die Token-Validierung wird im Allgemeinen auf eine von zwei Arten durchgeführt.
1) Das Token wird mit vorinstallierten Schlüsseln kryptografisch signiert. Dies hat offensichtliche Mängel bei der Verwendung in verteilten, sich vermehrenden Systemen.
2) Der Authorization Server (AS) bietet einen Endpunkt für die Token-Validierung oder Introspektion. Diese Methode wurde im Oktober 2015 in IETF RFC 7662 standardisiert, siehe: https://tools.ietf.org/html/rfc7662
Diese Frage / Antwort zum Stapelüberlauf enthält Beispiele von Google und Github: /programming/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server
quelle
Sie lesen die Spezifikation zur Validierung des Tokens:
https://tools.ietf.org/html/rfc7662
Ich hoffe, dies hilft - bitte markieren Sie die Antwort, wenn sie Ihre Anfrage / Ihr Problem beantwortet
quelle