2012-01-25 24 views
16

Qual è la migliore applicazione di autenticazione per Django che:autenticazione app per Django

  • ha configurabili campi richiesti, ad esempio permette di utilizzare la posta elettronica come nome utente
  • si integra con altre API di autenticazione, come Facebook, Twitter, Google flusso di recupero
  • password è configurabile, invia password temporanea vs. collegamento recupero
  • ha preferibilmente sistema di inviti, in modo che il processo di registrazione può essere controllato

Non penso ci sia nessuno che abbia tutte queste caratteristiche, quindi ne sto cercando uno che copra il più possibile. Ma queste sono le caratteristiche che dovrebbero avere quasi tutti i servizi di web design. Quindi non voglio reinventare la ruota.

+2

Hai guardato [Pinax] (http://pinaxproject.com/)? La loro [pagina ecosistema] (http://pinaxproject.com/ecosystem/) ha app di riferimento/invito, l'app per gli account incorporati ha link di reimpostazione password (non so come configurabili) - l'unica cosa che mi manca è l'autenticazione FB/google. – AdamKG

+0

Non ancora, ma ho intenzione di guardare. – grigy

risposta

31

Non c'è un pacchetto di Django che copre tutto, invece ci sono numerosi grandi progetti che affrontano ciascuno dei requisiti di cui parli:

  • generale auth: django-auth - questa è una parte della distribuzione di Django, ma ha bisogno di essere eneabled
  • autenticazione sociale: django-social-auth - integra l'autenticazione sociale con il flusso di default django-auth
  • registrazione e password: django-registration - aggiunge il flusso di registrazione, tra cui segno e-mail di conferma, ecc
  • invito sistema: django-invitation - consente la registrazione per essere limitato a inviti
  • profili: django-profiles - si permette di estendere l'account degli utenti con un profilo

Si potrebbe anche dare un'occhiata a django-userena che è una nuova soluzione in hosting per la gestione degli utenti per la tua applicazione django. Non ho esaminato come funziona o quanto sia completo, ma sembra promettente.

Infine, uno sguardo ai pacchetti di Django per altre applicazioni di autenticazione:

http://djangopackages.com/grids/g/authentication/

EDIT:

Questo post è un po 'datata

  • django-sociali -auth è diventato python-social-auth
  • django-allauth: C'è un'altra buona app di autenticazione all-in-one chiamata django-allauth. Non l'ho usato estensivamente, ma credo che si tratti di auth, social-auth, registrazione e profili in un'unica app
  • Modelli utente configurabili: Django 1.5 ha introdotto un configuratble User models nel modulo auth in modo da poter modificare i campi che si desidera utilizzare per il proprio utente (solo e-mail, nessun nome utente, ecc.). Questo è utile anche se si desidera aggiungere le informazioni del profilo simile per l'utente, senza dover aderire con un altro tavolo (come si farebbe con django-profili o una relazione OneToOne con un modello di profilo personalizzato)
1

Go per django allauth. Copre tutti i flussi di autenticazione, modello utente personalizzato. e oltre 50+ provider di autenticazione sociale. Lo stiamo usando da molto tempo e si è evoluto molto nel tempo.

0

In primo luogo è necessario installare sociale-auth-app-django:

pip install social-auth-app-django 

Quindi aggiungere nella tua INSTALLED_APPS (nelle impostazioni), quindi è necessario creare le chiavi API, utilizzando la procedura di seguito per le reti te vuole abilitare:

Dopo la creazione del progetto si otterrà l'ID app e App Segreto (non condividerlo con nessuno uno) quindi aggiungere questi ID segreto & nell'impostazione e fornire un URL redirec valido per ulteriori informazioni

Problemi correlati