Rails Devise Omniauth 1.0 с Facebook - PullRequest
       2

Rails Devise Omniauth 1.0 с Facebook

1 голос
/ 05 ноября 2011

Я следую инструкциям в Ryan Bates Railscaast # 235, однако я пытаюсь интегрировать Facebook вместо Twitter.

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'

IЯ проверяю это, используя http://localhost:3000 и обозначил его как URL моего сайта в Facebook.Когда я вхожу в localhost: 3000 / auth / facebook, я успешно получаю приглашение от Facebook, однако меня перенаправляют на: http://localhost:3000/auth/facebook/callback?code= и следующее содержимое страницы:

--- !! null...

Мой вопрос: где хотя бы адрес электронной почты Facebook?Или как нуб я что-то упустил?

1 Ответ

1 голос
/ 06 декабря 2011

В вашем контроллере аутентификации измените следующую строку:

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

на

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

Также взгляните на RailsCast Episode 241 - Simple OmniAuth , которыйРайан Бейтс обновился для работы с OmniAuth 1.0

...