Google OAuth 2 und state-parameter-Werte müssen registriert sein, in der redirect-url
Den state-parameter gemäß den Google Oauth 2.0-Dokumentation:
Gibt jedem Staat, der nützlich sein, um Ihre Anwendung nach Erhalt der Antwort. Die Google-Authorization-Server-roundtrips dieser parameter, so dass Ihre Anwendung erhält den gleichen Wert gesendet. Mögliche Verwendungen umfassen das umleiten der Benutzer zu den richtigen Ressourcen auf Ihrer Website, nonces, die zu cross-site-request-forgery Schutzmaßnahmen.
Ich würde gerne die Status-parameter als ein Mittel, zu wissen, welche subdomain das original oauth-Anfrage gestartet wurde. Aber die redirect_state parameter wird angezeigt, zu brauchen, um registriert werden, als Teil der "Authorized Redirect URIs". Wenn nicht, bekomme ich:
Fehler: redirect_uri_mismatch
Die redirect-URI in der Anfrage: http://my_server.com/complete/google-oauth2/?redirect_state=2 nicht mit einem registrierten redirect-URI
Möchte ich eine Lösung, die nicht erfordert Registrierung alle möglichen redirect_state Wert in der authorized redirect URIs als nicht sehr haltbar. Ideen?
- Siehe meine Antwort auf stackoverflow.com/questions/7722062/... vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der name des Parameters ist
state
(und nicht redirect_state)!Einer Probe OAuth-Anforderung entsprechend der google-Dokumentationen ist ->
Bitte beachten Sie die
State
parameter und dieredirect_uri
parameter. Ich glaube das hast du verwechselt die beiden.EDIT - Siehe diesen link von Google. Hat gute Erklärung über den Zustand der Parameter und der Aufbau von web-Anfragen.