2011-11-05 96 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

工作
相關問題