#ruby-on-rails #ruby-on-rails-3 #routes #authlogic #omniauth
#ruby-on-rails #ruby-on-rails-3 #маршруты #authlogic #omniauth
Вопрос:
Я начал интегрировать Omniauth 1.0 в свое приложение Rails / Authlogic, и при попытке доступа я получаю ошибку маршрута localhost:3000/auth/facebook
.
Должны ли мы создавать пользовательский маршрут для каждого /auth/strategy
, который мы хотим, или здесь что-то еще не так?
# gemfile
gem 'omniauth-facebook'
# routes
resources :authentications
match '/auth/:provider/callback' => 'authentications#create'
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, '20...', 'bc...'
end
# accessing /auth/facebook
No route matches "/oauth/authorize"
Ответ №1:
Обновил мой GemFile с
gem "omniauth-facebook", :git => "git://github.com/mkdynamic/omniauth-facebook.git"
и это сработало.
Комментарии:
1. Бен — я получаю
invalid_uri
от Facebook за попытку подключитьсяlocalhost
. Вы знаете, о чем это?2. @sscirrus Вероятно, это настройка Facebook. Facebook требует, чтобы был установлен URI перенаправления (хотя теперь они разрешают несколько). Вы можете изменить его, обновив свое приложение по адресу developers.facebook.com .
3. Это временное исправление, поскольку новый gem FB omniauth официально еще не выпущен. Вероятно, исправлено, как только это RC.