2012-06-16 10 views
5

Używam Omniauth z programem Devise, używając strategii google_oauth2. Działa dobrze, ale teraz chciałbym zmienić ścieżkę autoryzacji za pomocą mojego wyboru.Zmień adres URL autoryzacji Omniauth

W rzeczywistości jest to http://localhost:3000/users/auth/google_oauth2, podczas gdy ja chciałbym znacznie prostsze http://localhost:3000/login, ponieważ jest to łatwe do zapamiętania.

Nie spowodowałoby to żadnego błędu, ponieważ wyłączyłem bazę danych Devise z możliwością autoryzacji (jedynym sposobem na zalogowanie się jest konto Google).

Jak mogę to zrobić?

Dzięki.

+0

Nadal bardzo uczę się Railsów, więc nie jestem pewien tej odpowiedzi (stąd pozostawiając ją jako komentarz), ale czy mógłbyś użyć 'match'? 'match" users/auth/google_oauth2 "=>" login # index "'? –

Odpowiedz

-1

Korzystanie OmniAuth bez innych uwierzytelnień
Jeśli używasz tylko omniauth uwierzytelniania, należy zdefiniować trasę o nazwie new_user_session (o ile nie określono, korzeń będzie używany). Poniżej znajduje się przykład takich tras (nie trzeba umieścić go, jeśli są również za pomocą bazy danych lub innych uwierzytelnianie z omniauth):

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

devise_scope :user do 
    get 'sign_in', :to => 'users/sessions#new', :as => :new_user_session 
    get 'sign_out', :to => 'users/sessions#destroy', :as => :destroy_user_session 
end 

W powyższym przykładzie, kontroler sesje nie trzeba robić nic specjalnego. Na przykład wystarczy wyświetlić link do uwierzytelniania operatora.

referencyjny: https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview