首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails - OmniAuth-Facebook抛出NoSessionError

Rails - OmniAuth-Facebook抛出NoSessionError
EN

Stack Overflow用户
提问于 2012-10-04 11:25:48
回答 1查看 1.2K关注 0票数 7

我是Rails的新手,我正在努力将OmniAuth-Facebook gem整合到我现有的rails应用程序中。我遵循了铁路广播教程(http://railscasts.com/episodes/360-facebook-authentication),但是当我点击/auth/facebook时,我得到了一个NoSessionError异常,它告诉我必须提供一个到OmniAuth的会话。我会发布代码,但它与railscast教程中的代码完全相同。

在OmniAuth中,strategy.rb中的这一行: raise OmniAuth::NoSessionError.new(“您必须提供一个会话才能使用OmniAuth。”)除非env'rack.session‘

我需要显式启动会话吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-14 04:49:27

确保您正在设置环境变量。轨道广播教程要求将App ID/API KeyApp Secret密钥设置为环境变量,以便omniauth初始化器可以连接

代码语言:javascript
复制
provider :facebook, ENV['APP_ID'], ENV['APP_SECRET']

为此,请执行以下操作:

代码语言:javascript
复制
export APP_ID=(YOUR APP ID)
export APP_SECRET=(YOUR SECRET KEY)

代码语言:javascript
复制
development:
  app_id:     'YOUR APP ID'
  app_secret: 'YOUR SECRET KEY'

将此代码添加到您的config/application.rb中

代码语言:javascript
复制
AppConfig = YAML.load(ERB.new(File.read(File.expand_path('../config.yml', __FILE__))).result)[Rails.env]
AppConfig.symbolize_keys!

然后用AppConfig[:app_secret] and AppConfig[:app_id]在初始化器中引用它们

代码语言:javascript
复制
provider :facebook, 'YOUR APP ID', 'YOUR SECRET KEY'

第二个选项是最可取的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12719867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档