ruby-on-rails - rails : Omniauth - "The parameter app_id is required"

标签 ruby-on-rails ruby facebook omniauth

我正在按照这个 railscast 教程在我的 rails 项目上为 facebook 身份验证设置 omniauth:http://railscasts.com/episodes/360-facebook-authentication?autoplay=true .我只用了 4 分钟,到目前为止我所做的就是捆绑 gem omniauth-facebook 并添加,

omniauth.rb

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['my id here...'], ENV['my secret code here...']

end

然后当我转到 http://localhost:3000/auth/facebook 时,我收到一条错误消息,提示 The parameter app_id is required

最佳答案

哦,现在我明白了:您需要定义环境变量来存储您的 facebook_app_idfacebook_secret。您可以像这样将它们添加到您的环境中(假设是类 unix 系统):

将此添加到 ~/.bashrc 文件(或等效文件)的底部:

export FACEBOOK_APP_ID='your_id_here'
export FACEBOOK_SECRET='your_secret_here'

然后打开一个新终端以确保它们已加载到环境中。

最后,在您的 omniauth.rb 初始化程序中,您准确地键入:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET']
end

阅读有关该主题的更多信息 here ,例如。

您还可以使用 dotenv gem 来处理环境变量。

关于ruby-on-rails - rails : Omniauth - "The parameter app_id is required",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596144/

相关文章:

javascript - 在 Javascript 中访问 Ruby 变量

ruby-on-rails - 图像的 Rails 3.1 绝对 URL

iphone - 如何在IOS5模拟器上获取Facebook应用程序?

ruby-on-rails - 无法更新 RubyGems

mysql - 计算 Rails 中的关联记录

ruby - Ruby 中的运算符和方法

ruby-on-rails - 无法理解 Rails 中符号的使用

ruby - 在 OSX 10.10 Yosemite 上安装 tiny_tds 时出错

android - 实现社交登录和应用内登录

HTML - 如何在一个页面上有效地做多个 Facebook Like 按钮