¿Cómo agregar parámetros a google oauth2 redirect_uri?
Así redirect_uri=http://www.example.com/redirect.html?a=b
.
El b
de a=b
es aleatorio.
¿Alguien puede ayudar?
fuente
¿Cómo agregar parámetros a google oauth2 redirect_uri?
Así redirect_uri=http://www.example.com/redirect.html?a=b
.
El b
de a=b
es aleatorio.
¿Alguien puede ayudar?
No puede agregar nada al uri de redireccionamiento, el uri de redireccionamiento es constante según lo establecido en la configuración de la aplicación de Oauth. por ejemplo: http://www.example.com/redirect.html
Para pasar varios parámetros a su uri de redireccionamiento, state
guárdelos en el parámetro antes de llamar a la url de Oauth, la url después de la autorización enviará los mismos parámetros a su uri de redireccionamiento como
state=THE_STATE_PARAMETERS
Entonces, para tu caso, haz esto:
/ 1. crea una cadena json de tus parámetros ->
{ "a" : "b" , "c" : 1 }
/ 2. hacer un base64UrlEncode, para que sea una URL segura ->
stateString = base64UrlEncode('{ "a" : "b" , "c" : 1 }');
Este es un ejemplo de PHP de 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, '-_,', '+/='));
}
Entonces ahora el estado sería algo como: stateString -> asawerwerwfgsg,
Pase este estado en la URL de autorización de OAuth:
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,
Para el flujo del lado del servidor, vendrá junto con el token: http://www.example.com/redirect.html?token=sdfwerwqerqwer&state=asdafwswdwefwsdg ,
Para el flujo del lado del cliente, vendrá en el hash junto con el token de acceso: http://www.example.com/redirect.html#access_token=portyefghsdfgdfgsdgd&state=asdafwswdwefwsdg ,
Recupere el estado, base64UrlDecode, json_decode y tendrá sus datos.
Obtenga más información sobre Google OAuth 2 aquí:
state
param para pasar varios parámetros para redirigir uri y prevenirCSRF
ataques al mismo tiempo ?CSRF
ataques)?Si está en .NET puede guardar los parámetros en la sesión
y redirigir a la página de autorización sin parámetros
fuente
Session
debe evitar almacenar cualquier estado del cliente .Puede redirigir el parámetro con URL como se muestra a continuación,
Cuando recibe una respuesta de Google, puede pasar el parámetro con URL,
Consulte el código php a continuación para lo mismo,
}
En el ejemplo anterior, r = page / view es el parámetro en el que quiero la respuesta con el parámetro
fuente