我正在使用 devise / omniauth 针对 Facebook 验证我的 Rails 应用程序。我正在尝试将其更改为callback_path
自定义的,但无论我将其设置为什么,omniauth.auth
请求变量都会返回为零。例如,在这里我将 设置callback_path
为如果我不设置它的确切值:
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
中取回数据。omniauth.auth
但是,我必须重写它,因为我需要支持将属性传回回调。
我查看了Omniauth::Strategy 代码,看看可能出了什么问题,但我不太清楚出了什么问题。
我的问题:
- 为什么这不起作用?
- 有没有更好的方法来解决问题?