2011-11-05 55 views
1

我遵循Ryan Bates Railscaast#235中的步骤,但是,我试图整合Facebook而不是Twitter。Rails使用Facebook设计Omniauth 1.0

的Gemfile

gem "omniauth-facebook", :git => "git://github.com/mkdynamic/omniauth-facebook.git" 

认证控制器

def create 
    render :text => request.env["rack.auth"].to_yaml 
    end 

Omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, 'ID', 'Secret' 
end 

路线

devise_for :users 

    resources :authentications 
    match '/auth/:provider/callback' => 'authentications#create' 

我使用http://localhost:3000来测试这个,并将其指定为我的facebook网站网址。当我输入localhost:3000 /认证/ Facebook的我被Facebook提示成功,但是,我重定向到: http://localhost:3000/auth/facebook/callback?code=及以下页面的内容:

--- !!空...

我的问题是哪里至少是Facebook的电子邮件地址?或者作为一个noob我错过了什么?

回答

1

在你认证控制器,更改以下行:

render :text => request.env["rack.auth"].to_yaml 

render :text => request.env["omniauth.auth"].to_yaml 

RailsCast Episode 241 - Simple OmniAuth另外看看这瑞恩·贝茨已经更新了OmniAuth 1.0

工作
相关问题