2012-11-06 10 views
5

Ho implementato l'autenticazione Devise Omniauth nella mia applicazione Rails con successo utilizzando il seguente tutorial git OmniAuth: OverviewCome eseguire l'autenticazione multipla utilizzando Devise Omniauth + (Facebook, Twitter, Google)?

Ma non sosterrà autenticazioni multiple, può essere tutti voi sapete che, e hanno affrontato lo stesso problema prima, ma se le persone hanno ottimizzato lo stesso problema per favore fammi sapere la soluzione.

Questo è lo scenario che ho bisogno di realizzare usando Omniauth + Devise.

abbiamo un utente di nome John e ha già account in entrambi i Google & Facebook con lo stesso ID e-mail "[email protected]".

Quindi, per la prima volta in cui John tenta di accedere con il proprio account Google, john ha effettuato correttamente l'accesso.

ma per la seconda volta john tenta di accedere con il suo account di Facebook, questa volta la nostra applicazione reindirizza john al dispositivo registration_url, senza consentirgli di accedere con il suo account Facebook.

Io so perché questo è hapepnig perché escogitare sarà convalida internamente l'unicità di email.But Sono molto curioso di sapere che, non v'è alcun modo per modificare questo problema in modo che possiamo raggiungere molteplici autenticazioni. Stack-Overflow ha fatto lo stesso molto bene.

Please help me per trovare la soluzione.

Grazie ..

+0

Questo è stato risposto con successo qui: http: //stackoverflow.com/questions/21249749/rails-4-devise-omniauth-with-multiple-providers – charlysisto

risposta

4

provare questo, nel file devise.rbcommento questa linea o modificare posta elettronica e utilizzare la differenza per questo e quindi provare

# to authenticate or find a user. Default is :email. 
    config.case_insensitive_keys = [ :email ] 
    # modifying a user and when used to authenticate or find a user. Default is :email. 
    config.strip_whitespace_keys = [ :email ] 
+0

è l'unico modo per ottenere un'autenticazione multipla.? – Sreehari

+0

c'è un altro modo, ma devi fare la codifica per quello e scrivere le condizioni –