Разрешить только определенные маршруты в аутентификации Devise - PullRequest
0 голосов
/ 28 октября 2011

Я использую Devise omniauth для аутентификации пользователей через Facebook.

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }

Это хорошо работает, но я хочу ограничить пользователям доступ к 'http://app/users/sign_in' странице

Я могу изменитьмаршруты следующие:

devise_scope :user do 
  match '/users/auth/facebook/callback' => 'users/omniauth_callbacks#facebook'
end 

Но тогда как мне перенаправить пользователей, чтобы не получать неприятные сообщения от контроллеров с

before_filter :authenticate_user!

Я хочу, чтобы пользователи использовали только URL-адрес соответствия devise_scopeиначе всегда перенаправляйте их на какой-то маршрут по умолчанию «application # index».

1 Ответ

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

Последние версии устройств всегда будут перенаправлять вас на страницу root_url, когда используется только omniauth и не используется database_authenticatable. Вы можете настроить это, сгенерировав маршрут с "new_user_session" в качестве имени, указывающего на ваш "application # index".

...