2011-10-03 10 views
27

Vorrei installare il mio sistema di login per la mia applicazione python Google App Engine (piuttosto che usare lo users api di Google).Webapp2 per l'autenticazione e il login

Sto utilizzando webapp2 e ho notato che esiste un modulo webapp2_extras.auth e uno incomplete auth tutorial.

Qualcuno sa come posso usare questa API per creare:

  • Registrazione Utenti (prendere una e-mail e la password, e, forse, verifica e-mail)
  • Login Utente con la posta elettronica e la password

Una volta ricevuto l'e-mail e la password, dove lo memorizzo? Nel AuthStore? E come si effettua l'autenticazione con AuthStore?

+0

È possibile controllare questo post del blog: [Autenticazione utente con webapp2 su Google App Engine] (http://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app -motore/). Descrive i passaggi necessari per creare il proprio livello di autenticazione sfruttando le funzionalità già incluse in webapp2. È un'elaborazione della procedura necessaria per far funzionare il codice nella risposta di Eric. (Divulgazione: inizialmente ho scritto quel post nel tentativo di correggere la mancanza di documentazione) – abahgat

risposta

4

Come e dove memorizzare le credenziali dell'utente e le informazioni è interamente a carico dell'utente; il modulo webapp2 di cui fai riferimento fornisce semplicemente un'interfaccia a cui devi conformarti se vuoi utilizzare le sue funzionalità. Una scelta ovvia (forse l'unica sensata) sarebbe il datastore.

Raccomanderei caldamente di utilizzare lo strumento integrato OpenID support invece di eseguire il rollover. In questo modo, stai costringendo gli utenti a creare ancora un altro nome utente e password, e ti stai dedicando a un intero set di password di archiviazione e problemi di sicurezza.

+1

Sono generalmente d'accordo con la tua risposta. In realtà ho già implementato [login social di janrain] (http://www.janrain.com/products/engage/social-login) con openID, facebook, login di google ecc. Tuttavia, sono preoccupato che possa esserci una percentuale significativa di utenti che non sono a loro agio/non hanno familiarità con openID/accesso social e non useranno il mio sito se l'unica opzione è quella di accedere con un altro account. Pensi che la mia preoccupazione sia valida? – zzz

+2

@EricGustavson Dipende interamente dalla tua base di utenti. Ci sono altri utenti che si sentiranno a disagio nel creare nuovi account per il tuo sito. OpenID e l'accesso federato (ad esempio, Facebook) stanno diventando sempre più comuni, tuttavia, l'ottimizzazione per questi utenti è un po 'come l'ottimizzazione per IE6. –

+1

@NickJohnson - c'è un modo carino con cui il supporto OpenID appengine può giocare bene con Facebook? Più specificamente, conosci qualche buona soluzione che può sfruttare l'integrazione di OpenID per l'accesso basato su OpenID e utilizzare i meccanismi basati su OAuth 2.0 di Facebook nel caso in cui l'utente desideri utilizzare l'accesso di Facebook?(Dopo averlo guardato, la mia impressione era che fosse davvero necessario eseguire il proprio meccanismo di autenticazione se fossero richiesti sia OpenID che OAuth). –

3

Nuova risposta a una vecchia domanda: chiunque desideri aggiungere la propria autenticazione e accedere a webapp2 su Google App Engine deve considerare Google App Engine Boilerplate.

Registrazione, accesso, disconnessione, reimpostazione della password, accesso federato (Google, Twitter, Facebook, ecc.), Profili utente, ecc.

Le tecnologie sfruttate includono, Python 2.7, NDB, Jinja2, WTForms, unittest, webtest, pyquery, OpenID (Google App Engine) e OAuth2 (per provider di accesso federati che non supportano OpenID).

La demo online è here.

+0

Il tuo collegamento demo online è morto - il che è un peccato! Sarebbe stato bello vederlo. – Fritz

+0

[** Link demo online **] (http://appengine.beecoss.com/) funziona di nuovo. – kjhughes

Problemi correlati