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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 应用程序ID和应用程序秘密对于每个请求都不同,使用omniauth-facebook?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
omniauth-facebook自述文件提到了如何在初始化程序中设置它,以及如何设置仅适用于每个请求的范围的选项.我想知道是否可以为每个请求设置应用程序ID和应用程序秘密.

解决方法

你可以这样做:

在你的omniauth.rb上,这样做:

  1. Rails.application.config.middleware.use OmniAuth::Builder do
  2. provider :facebook,:setup => true
  3. end

然后在控制器上,您必须定义以下内容

  1. def setup
  2. request.env['omniauth.strategy'].options[:client_id] = @site.facebook_key
  3. request.env['omniauth.strategy'].options[:client_secret] = @site.facebook_secret
  4. render :text => "Setup complete.",:status => 404
  5. end

当然,您必须在路由器上添加关联的路由.

  1. #Facebook Omniauth routes
  2. match '/auth/facebook/callback' => 'session#authorize_callback'
  3. match '/auth/facebook/setup' => 'session#setup'

祝你好运

问候.伊万.

猜你在找的Ruby相关文章