Wie füge ich dem oogle oauth2 redirect_uri Parameter hinzu?
Einfach so redirect_uri=http://www.example.com/redirect.html?a=b
.
Das b
von a=b
ist zufällig.
Kann jemand helfen?
quelle
Wie füge ich dem oogle oauth2 redirect_uri Parameter hinzu?
Einfach so redirect_uri=http://www.example.com/redirect.html?a=b
.
Das b
von a=b
ist zufällig.
Kann jemand helfen?
Sie können der Umleitungs-URL nichts hinzufügen. Die Umleitungs-URL ist konstant, wie in den App-Einstellungen von Oauth festgelegt. Beispiel: http://www.example.com/redirect.html
Um mehrere Parameter an Ihre Umleitungs-URL zu übergeben, müssen Sie diese state
vor dem Aufrufen der Oauth-URL in den Parametern speichern. Die URL nach der Autorisierung sendet dieselben Parameter an Ihre Weiterleitungs-URL wie
state=THE_STATE_PARAMETERS
Gehen Sie für Ihren Fall folgendermaßen vor:
/ 1. Erstellen Sie eine JSON-Zeichenfolge Ihrer Parameter ->
{ "a" : "b" , "c" : 1 }
/ 2. Führen Sie einen base64UrlEncode aus, um die URL sicher zu machen ->
stateString = base64UrlEncode('{ "a" : "b" , "c" : 1 }');
Dies ist ein PHP-Beispiel für base64UrlEncoding & Decoding ( http://en.wikipedia.org/wiki/Base64#URL_applications ):
function base64UrlEncode($inputStr)
{
return strtr(base64_encode($inputStr), '+/=', '-_,');
}
function base64UrlDecode($inputStr)
{
return base64_decode(strtr($inputStr, '-_,', '+/='));
}
Jetzt wäre state so etwas wie: stateString -> asawerwerwfgsg,
Übergeben Sie diesen Status in der OAuth-Autorisierungs-URL:
https://accounts.google.com/o/oauth2/auth?
client_id=21302922996.apps.googleusercontent.com&
redirect_uri=https://www.example.com/back&
scope=https://www.google.com/m8/feeds/&
response_type=token&
state=asdafwswdwefwsdg,
Für den serverseitigen Ablauf wird ein Token mitgeliefert: http://www.example.com/redirect.html?token=sdfwerwqerqwer&state=asdafwswdwefwsdg ,
Für den clientseitigen Ablauf wird er zusammen mit dem Zugriffstoken im Hash angezeigt: http://www.example.com/redirect.html#access_token=portyefghsdfgdfgsdgd&state=asdafwswdwefwsdg ,
Rufen Sie den Status ab, base64UrlDecode it, json_decode it und Sie haben Ihre Daten.
Weitere Informationen zu Google OAuth 2 finden Sie hier:
state
param auf mehrere Parameter übergeben uri umleiten und zu verhindernCSRF
Angriff zur gleichen Zeit ?CSRF
Angriffe verhindern )?Wenn Sie sich in .NET befinden, können Sie die Parameter in der Sitzung speichern
und leiten Sie ohne Parameter zur Autorisierungsseite weiter
quelle
Session
sollte vermieden werden, dass IMO einen Client-Status speichert .Sie können Parameter mit URL wie folgt umleiten:
Wenn Sie eine Antwort von Google erhalten, können Sie Parameter mit URL übergeben,
Siehe unten PHP- Code für das gleiche,
}}
Im obigen Beispiel ist r = Seite / Ansicht ein Parameter, auf den ich die Antwort mit Parameter möchte
quelle