2013-02-15 7 views
5

Il mio obiettivo finale è che gli utenti abbiano più autenticazioni di terze parti contemporaneamente.Oauth multiplo e simultaneo in un'applicazione Rails?

In questo momento, sto utilizzando Devise per creare utenti. Gli utenti possono registrarsi via email o facebook o google e funziona. Ma ora, dopo che si sono già registrati, ho bisogno che vengano verificati anche con, ad esempio, youtube o soundcloud. Quindi l'utente è stato creato con idea, ma ho anche bisogno che vengano verificati con altre cose.

Poiché Devise fa l'omniscalco per i propri scopi, non posso usare omniauth sul lato.

come la vedo io ho tre opzioni:

  • Prova a monkeypatch ideare e farlo consentire autenticazioni multiple allo stesso tempo su un utente
  • fare OAuth a mano sul lato adiacente alla corrente Elaborare implementazione
  • Scrap Devise e fare qualcosa di diverso

io apprezzo molto qualche consiglio o altre opzioni

risposta

1

Prova a monkeypatch ideare e farlo per consentire più autenticazioni allo stesso tempo su un uso

Non è necessario per disposizione testamentaria monkeypatch --- si può avere il proprio controllore OAuth l'ha

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 

    def facebook 
    # handle if already a twitter user 
    # handle if a new user 
    # use the `sign_in user` to sign_in the user 
    end 

    def twitter 
    # handle if already a facebook user 
    # handle if a new user 
    end 
end 

e utilizzarlo in percorsi

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