2011-09-17 3 views
8

ho implementato l'autenticazione Twitter con disposizione testamentaria con qualcosa di molto simile a questo: https://github.com/plataformatec/devise/wiki/OmniAuth:-OverviewDevise, twitter - chiedere mail di conferma

La mia domanda è, dal momento che Twitter non ti dà la e-mail dell'utente, come si può indirizzare l'utente torna al flusso di:

  1. segni utente con Twitter
  2. utente è presentato con un modulo email
  3. utente deve confermare il suo/la sua e-mail
  4. clic sul link di conferma invia l'utente al sito registrato

Devise praticamente si occupa di # 3 e # 4. Come dovrei strutturare il mio codice per consentire al # 2 di transitare in # 3 e # 4?

Grazie!

risposta

1

Ryan Bates copre la maggior parte di questo nel suo screencast OmniAuth Part 2, per ottenere l'e-mail di conferma tutto ciò che dovete fare è aggiungere l'opzione confirmable da ideare.

+0

Sai ideare ora consente l'integrazione di Twitter fuori dalla scatola giusto? https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview I – disappearedng

+0

Scusa, è proprio come l'ho fatto. Sono sicuro che guardando il codice implementato nel tutorial potresti lavorare su qualcosa. – twe4ked

+0

L'unica esitazione che ho con il suo approccio è che sta usando il modello di Autenticazioni piuttosto che il modello di sessione di Devise – disappearedng

3

Mostra nuovo modulo utente nella pagina di richiamata di Twitter. Memorizza il token twitter nel campo nascosto. Quindi puoi creare un nuovo utente nel controller e fare ciò che vuoi con il token Twitter. User.create invia anche un'e-mail di conferma.

User.create(:email => params[:email], :password => params[:password], :password_confirmation => params[:password_confirmation])