2012-06-16 12 views
5

Estoy usando Omniauth con Devise usando la estrategia google_oauth2. Funciona bien, pero ahora me gustaría cambiar la ruta de autorización con algo de mi elección.Cambiar la autorización de Omniauth URL

En realidad es http://localhost:3000/users/auth/google_oauth2 mientras que me gustaría un http://localhost:3000/login mucho más simple, ya que es fácil de recordar.

No generará ningún error ya que he desactivado la base de datos Devise para que sea autenticable (la única forma de iniciar sesión es a través de una cuenta de google).

¿Cómo puedo hacer?

Gracias.

+0

Todavía estoy aprendiendo mucho Rails, por lo que no estoy seguro de esta respuesta (de ahí dejándola como un comentario), pero ¿podrías usar 'match'? 'match" users/auth/google_oauth2 "=>" login # index "'? –

Respuesta

-1

Usando OmniAuth sin otras autenticaciones
Si está utilizando sólo OmniAuth autenticación, es necesario definir una ruta denominada new_user_session (si no se define, se usará la raíz). A continuación se muestra un ejemplo de este tipo de rutas (que no es necesario incluirla si también está usando la base de datos o de otro tipo de autenticación con 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 

En el ejemplo anterior, el controlador de sesión no tiene que hacer algo especial. Por ejemplo, mostrar un enlace a la autenticación del proveedor será suficiente.

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

Cuestiones relacionadas