2013-05-27 5 views
0

내 Rails 3 애플리케이션에서 Facebook 로그인을 구현 중입니다. 작동하도록했으나 Facebook 응용 프로그램에서 지정한 "사이트 URL"로 리디렉션됩니다. 사용자가 로그인 한 페이지로 리디렉션하고 싶습니다. 예를 들어 http://www.site.com/userprofile에서 로그인 한 경우 로그인 한 후에 해당 페이지에 남아 있어야합니다.성공적인 Facebook 로그인 후에 현재 페이지로 리디렉션하는 방법

답변

2

보안상의 이유로 Facebook은 사전 등록 된 URL로만 리디렉션됩니다. 동적으로 변경할 수 없습니다. 이 사전 정의 된 URL에서 콜백을 수신 한 다음 나중에 원하는 위치로 사용자를 리디렉션해야합니다.

다른 방법으로 팝업에서 Facebook 로그인을 통해 실행할 수 있으며 결국에는 window.opener에 다시로드 한 다음 팝업 창을 닫으라는 팝업이 표시됩니다. 단지 응답 대신 JavaScript를 제공하십시오.

+0

이 상태 매개 변수 또는 다른 방법을 사용하고 싶습니다. 실제로 저는 Ajax를 사용하여이 문제를 해결할 것입니다. – William

+0

그 방법을 구현하는 것이 좋은지 잘 모르겠습니다. 상태 매개 변수는 CSRF를 피하기 위해 사용됩니다. 이 문서는 "요청과 콜백 사이에 응용 프로그램 상태를 유지하는 데 사용되는 고유 한 문자열이며 Facebook에서 사용자를 redirect_uri로 리디렉션하면이 매개 변수의 값이 응답에 포함됩니다.이 기능을 사용하여 교차 사이트 요청 위조 . " 내가 너라면, 세션 데이터에 현재 URL을 저장하고 사용자가 "사이트 URL"에 정의 된 페이지로 리디렉션되면 이전에 URL을 저장 한 세션 데이터를 확인하고 리다이렉트합니다. – Oklahomer

관련 문제