¿Cómo agregar parámetros a google oauth2 redirect_uri?
Así redirect_uri=http://www.example.com/redirect.html?a=b.
El bde a=bes 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 bde a=bes 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í:
stateparam para pasar varios parámetros para redirigir uri y prevenirCSRFataques al mismo tiempo ?CSRFataques)?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
Sessiondebe 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