omniauth-facebook自述文件提到了如何在初始化程序中设置它,以及如何设置仅适用于每个请求的范围的选项.我想知道是否可以为每个请求设置应用程序ID和应用程序秘密.
解决方法
你可以这样做:
在你的omniauth.rb上,这样做:
Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook,:setup => true end
然后在控制器上,您必须定义以下内容:
def setup request.env['omniauth.strategy'].options[:client_id] = @site.facebook_key request.env['omniauth.strategy'].options[:client_secret] = @site.facebook_secret render :text => "Setup complete.",:status => 404 end
当然,您必须在路由器上添加关联的路由.
#Facebook Omniauth routes match '/auth/facebook/callback' => 'session#authorize_callback' match '/auth/facebook/setup' => 'session#setup'
祝你好运
问候.伊万.