나는 볼 수 없습니다. 사용자를 Authorization Server로 재지 정하기 전에 현재 URL을 쿠키에 저장하십시오. 는 AS가 redirect_uri
다시 사용자를 리디렉션하는 경우, 해당 페이지는 쿠키에 저장되어있는 URL에 다른 리디렉션을 수행합니다.
하지만 요청에 "마지막 페이지 URL"(목록의 네 번째 요소)을 포함하는 버전을 좋아합니다. 구글은 분명히 자신의 OAuth 구성에서 와일드 카드를 허용하지 않기 때문에, 대신 state
매개 변수를 사용할 수 있습니다. RFC 6749 - The OAuth 2.0 Authorization Framework에서 :
state
RECOMMENDED. An opaque value used by the client to maintain
state between the request and callback. The authorization
server includes this value when redirecting the user-agent back
to the client. The parameter SHOULD be used for preventing
cross-site request forgery as described in Section 10.12.
당신이 당신의 리디렉션 URL을 구축
, 당신은 너무처럼
state
매개 변수를 설정합니다
https://accounts.google.com/o/oauth2/v2/auth
?client_id=MY_CLIENT_ID
&redirect_uri=http://example.com/oauth-redirect_uri
&scope=REQUESTED_SCOPES
&state=http://example.com/last-page-the-user-loaded
당신의 OAuth 흐름에 따라, 인증 서버는 URL로 사용자를 리디렉션 것 어느 정도 성공 승인에 따라 다음과 같습니다
http://example.com/oauth-redirect_uri
?code=CODE
&state=http://example.com/last-page-the-user-loaded
다음 state
매개 변수를 처리 할 수있는 서버 그에 따라 사용자를 리디렉션합니다.
답장을 보내 주셔서 감사합니다. @paolo 나는 이것을 시도하고 작동 여부를 알려줍니다. –
감사합니다 그 상태 매개 변수 솔루션은 Google 로그인을 위해 일했습니다 .. 페이 스북 로그인에도 같은 매개 변수가 있습니까? 거기에 상태 매개 변수를 찾을 수 없기 때문에 –
OAuth 프로토콜을 준수하고 완전히 구현 한 경우 이는 Google과 동일하게 작동합니다. 하지만 페이스 북 로그인에 대해서는 아무 것도 몰라요. 미안 해요. – paolo