Como adicionar parâmetros ao google oauth2 redirect_uri?
Assim mesmo redirect_uri=http://www.example.com/redirect.html?a=b
.
O b
de a=b
é aleatório.
Alguém pode ajudar?
fonte
Como adicionar parâmetros ao google oauth2 redirect_uri?
Assim mesmo redirect_uri=http://www.example.com/redirect.html?a=b
.
O b
de a=b
é aleatório.
Alguém pode ajudar?
Você não pode adicionar nada ao uri de redirecionamento, o uri de redirecionamento é constante, conforme definido nas configurações do aplicativo do Oauth. por exemplo: http://www.example.com/redirect.html
Para passar vários parâmetros para seu uri de redirecionamento, state
guarde -os em parâmetro antes de chamar o url Oauth, o url após a autorização enviará os mesmos parâmetros para o seu uri de redirecionamento como
state=THE_STATE_PARAMETERS
Então, para o seu caso, faça o seguinte:
/ 1. crie uma string json de seus parâmetros ->
{ "a" : "b" , "c" : 1 }
/ 2. faça um base64UrlEncode, para torná-lo um URL seguro ->
stateString = base64UrlEncode('{ "a" : "b" , "c" : 1 }');
Este é um exemplo 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, '-_,', '+/='));
}
Então agora o estado seria algo como: stateString -> asawerwerwfgsg,
Passe este estado no URL de autorização 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 o fluxo do lado do servidor, ele virá com o token: http://www.example.com/redirect.html?token=sdfwerwqerqwer&state=asdafwswdwefwsdg ,
Para o fluxo do lado do cliente, ele virá no hash junto com o token de acesso: http://www.example.com/redirect.html#access_token=portyefghsdfgdfgsdgd&state=asdafwswdwefwsdg ,
Recupere o estado, base64UrlDecode-o, json_decode-o e você terá seus dados.
Veja mais sobre o google OAuth 2 aqui:
state
param para passar vários parâmetros para redirecionar uri e prevenirCSRF
ataques ao mesmo tempo ?CSRF
ataques)?Se você estiver no .NET, você pode salvar os parâmetros na sessão
e redirecionar para a página de autorização sem parâmetros
fonte
Session
deve ser evitado.Você pode redirecionar o parâmetro com o url abaixo,
Quando você obtém uma resposta do google, pode passar o parâmetro com o url,
Veja abaixo o código php para o mesmo,
}
No exemplo acima r = page / view é o parâmetro no qual eu quero a resposta com o parâmetro
fonte