devise/omniauth를 사용하여 Facebook에 대한 내 Rails 앱을 인증하고 있습니다. callback_path
을 사용자 지정 항목으로 변경하려고하지만 아무런 설정을하지 않아도 omniauth.auth
요청 변수가 nil로 반환됩니다.Facebook 인증이 사용자 정의 콜백 경로로 작동하지 않습니다.
Devise.setup do |config |
require "omniauth-facebook"
config.omniauth :facebook,
ENV['FACEBOOK_APP_ID'],
ENV['FACEBOOK_APP_SECRET'],
scope: "email",
:setup => lambda { |env|
env['omniauth.strategy'].options[:callback_path] = "user/auth/facebook/callback"
}
end
난 후, 인증 작업을 :callback_path
를 설정하지 않고 내가 다시 데이터를 얻을 경우 : 나는 그것을 설정하지 않는 경우 예를 들어, 여기에 내가 정확한 값으로 callback_path
를 설정하고있어 그것은이다 omniauth.auth
요청 변수 그러나 콜백에 대한 특성 전달을 지원해야하므로 재정의해야합니다.
나는 무엇이 잘못 될지 알기 위해 Omniauth::Strategy code을 살펴 봤지만 잘못된 것이 무엇인지 알 수 없습니다.
내 질문 : 왜이
- 작동하지 않습니다?
- 문제를 해결하는 더 좋은 방법이 있습니까?
변수를 전달하기 위해 상태를 사용했지만 결국 callback_path를 재정의 할 수없는 이유는 여전히 이해할 수 없습니다. 문서에 따르면, 그것이 정확히 사용 된 것으로되어 있습니다. –
실제로, 나는 [Setup Phase Omniauth wiki] (https://github.com/intridea/omniauth/wiki/Setup-Phase)를 보았는데, 당신이 시도한 것과 일치하는 것처럼 보였다. Btw, config.omniauth : facebook, ENV [ 'FACEBOOK_APP_ID'], ENV [ 'FACEBOOK_APP_SECRET'], : callback_path => "user/auth/facebook/callback"'시도 했습니까? – Ashitaka
아니요,하지만 제안 해 주셔서 감사합니다. –