2013-05-07 4 views
7

구글의 Oauth 2.0 문서에 따라 상태 매개 변수 :구글의 OAuth 2 및 상태 매개 변수 값은 리디렉션 URL에 등록 할 필요가

Indicates any state which may be useful to your application upon receipt of the response. The Google Authorization Server roundtrips this parameter, so your application receives the same value it sent. Possible uses include redirecting the user to the correct resource in your site, nonces, and cross-site-request-forgery mitigations.

내가 아는 수단으로 상태 매개 변수를 사용하고 싶은 원래 oauth 요청이 시작된 하위 도메인. 그러나 redirect_state 매개 변수는 "인증 된 리디렉션 URI"중 하나의 일부로 등록해야합니다. 그렇지 않다면, 내가 얻을 :

Error: redirect_uri_mismatch The redirect URI in the request: http://my_server.com/complete/google-oauth2/?redirect_state=2 did not match a registered redirect URI

나는 아주 유지 보수가 아니므로 승인 된 리디렉션 URI를 모든 가능한 redirect_state 값 등록을 필요로하지 않는 솔루션을하고 싶습니다. 아이디어?

+0

내 대답보기 http://stackoverflow.com/questions/7722062/google-oauth2-redirect-uri-with-several-parameters/26014587#26014587 감사합니다. – Kiran

답변

14

매개 변수의 이름은 state이며 redirect_state는 아닙니다! 구글 문서화에 따라

샘플 OAuth를 요청

입니다 ->

https://accounts.google.com/o/oauth2/auth? 
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile& 
state=%2Fprofile& 
redirect_uri=https%3A%2F%2Foauth2-login-demo.appspot.com%2Fcode& 
response_type=code& 
client_id=812741506391.apps.googleusercontent.com&approval_prompt=force 

State 매개 변수와 redirect_uri 매개 변수를 유의하시기 바랍니다. 나는 그 둘을 섞어 본 것 같아.

수정 -이 link을 (를) Google에서 확인하십시오. 상태 매개 변수에 대한 설명과 웹 요청 작성하기.

+5

아, 네가 옳았다. 아마 이전에 잠에 갔어야했는데! 감사 – Henry