我是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‘
我需要显式启动会话吗?
发布于 2013-02-14 04:49:27
确保您正在设置环境变量。轨道广播教程要求将App ID/API Key和App Secret密钥设置为环境变量,以便omniauth初始化器可以连接
provider :facebook, ENV['APP_ID'], ENV['APP_SECRET']为此,请执行以下操作:
export APP_ID=(YOUR APP ID)
export APP_SECRET=(YOUR SECRET KEY)development:
app_id: 'YOUR APP ID'
app_secret: 'YOUR SECRET KEY'将此代码添加到您的config/application.rb中
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]在初始化器中引用它们
provider :facebook, 'YOUR APP ID', 'YOUR SECRET KEY'第二个选项是最可取的。
https://stackoverflow.com/questions/12719867
复制相似问题