ruby-on-rails – 应用程序ID和应用程序秘密对于每个请求都不同,使用omniauth-facebook?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 应用程序ID和应用程序秘密对于每个请求都不同,使用omniauth-facebook?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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'

祝你好运

问候.伊万.

猜你在找的Ruby相关文章