Ich entwickle einen oauth2-Provider basierend auf rfc6749 und ich frage mich, warum redirect_uri auf der Access Token Request erforderlich ist? Der/token-Endpunkt wird nicht umgeleitet und der Status wird als bereits validiert (d. H. Gegen CSRF) angenommen, sodass eine Kopie der redirectURI für mich keinen Sinn ergibt.Warum ist redirect_uri für die Anforderung von Access Token erforderlich?
Antwort
Ich würde vorschlagen, dass Sie eine Bibliothek verwenden. OAuth2 ist ein gut definierter Standard und es gibt einige Implementierungen. Kein Punkt, um das Rad neu zu erfinden.
Wenn Sie jedoch ein implementieren möchten können Sie gerne einen Artikel, den ich zu diesem Thema haben, überprüfen: https://eidand.com/2015/03/28/authorization-system-with-owin-web-api-json-web-tokens/
Redirect URI bei 1. Autorisierungscode Fluss benötigt wird, in dem Server mit dem Code umleitet zum Beispiel Proben Antwort auf Autorisierungsanforderung an die Umleitung URI ist:
HTTP/1.1 302 Found
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA
&state=xyz
Gleiches gilt für Fehlerreaktion für Authz Code Fluss wahr:
HTTP/1.1 302 Found
Location: https://client.example.com/cb?error=access_denied&state=xyz
Auch bei impliziter Erteilung gibt der Server das Zugriffstoken im Hash #### ### ### ### ### ERGEBNIS an den in der Anfrage angegebenen Umleitungs-URI zurück
Dies beantwortet die Frage nicht wirklich. Selbst wenn ich eine existierende Bibliothek benutzen würde, bleibt die Frage bestehen. – themihai
Sie brauchen keine redirect_uri. Sie benötigen einen Token-Endpunkt ja und das war's. Dieser Link zeigt, dass das required_uri optional ist. Es sagte und ich zitiere "ERFORDERLICH, WENN der" redirect_uri "Parameter wurde in der Autorisierungsanfrage wie in Abschnitt 4.1.1 beschrieben, und ihre Werte müssen identisch sein." –
Also meine Frage: Warum ist es erforderlich, wenn es nichts tut (d. H. Es leitet nicht um)? Was schadet Ihnen, wenn Sie es in die Authentifizierungsanforderung, aber nicht in die Tokenanforderung einbeziehen? Sie können nicht viel tun, ohne Redirect_uri auf die Authz-Anfrage trotzdem, so dass es auch auf der Token-Anfrage so sehr benötigt wird. – themihai