2011-02-04 3 views
1

간단한 OmniAuth 용 Railscast (텍스트 형식은 http://asciicasts.com/episodes/241-simple-omniauth)와 함께하고 있습니다. Facebook 로그인을 추가 할 때까지 모든 것이 완벽하게 작동합니다. "페이스 북으로 로그인"링크를 시도 할 때 다음 오류가 발생합니다.Omniauth는 페이스 북의 승인을 위해 잘못된 uri를 사용합니까?

잘못된 redirect_uri : 지정된 URL은 응용 프로그램 구성에서 허용되지 않습니다.

로그인 링크가있는 내 페이지의 URL은 'http://mluton.example.com:3000/characters/'입니다. 내 Facebook 앱의 웹 사이트 설정에서 사이트 URL을 'http://mluton.myfitv.com:3000/auth/facebook/callback/'으로 설정했습니다. 뒤에 슬래시가 필요합니다. 이것은 옴니 오스가 인증 요청을 할 때 콜백으로 설정하는 것입니다. 그러나 위의 오류가있는 페이지의 URL을 보면이 부분이 마지막에 표시됩니다.

redirect_uri로 = HTTP % 3A % 2F % 2Fmluton.example.com % 3A3000 % 2Fauth % 2Ffacebook % 2Fcallback

없음 슬래시. omniauth와 Facebook 사이의 연결이 끊어 졌습니까? 아니면 뭔가 빠져 있습니까? omniauth가 생성하는 기본 콜백 URL을 재정의 할 수있는 방법이 있습니까?

답변

0

이것은 시행 착오를 거쳤습니다. 콜백 URL 끝에 물음표를 입력하십시오. 이것은 개발자 콘솔에서 나를 위해 일했습니다 : http : // : 3000/users/auth/facebook/callback?

+0

그게 효과가 있습니다. 감사! –

+0

페이스 북은 더 이상 '?'을 허용하지 않습니다. URL 끝에. 파머. –

0

URL의 경로 구성 요소는 필요하지 않습니다. 사이트 URL을 http://mluton.myfitv.com:3000/ (your app's settings)으로 설정하십시오. 사이트 도메인을 mluton.myfitv.com으로 설정할 수도 있습니다.

페이스 북의 documentation on server-side authentication이 유용 할 수 있지만, redirect_uri을 기반으로 한 유효성 확인이 어떻게 작동하는지에 대해서는 자세히 설명되어 있지 않습니다.