2012-01-25 27 views
16

Cuál es la mejor aplicación de autenticación de Django que:autenticación de aplicación para Django

  • tiene campos requeridos configurables, por ejemplo, permite utilizar el correo electrónico como nombre de usuario
  • se integra con otras API de autenticación, como Facebook, Twitter, Google flujo de recuperación
  • contraseña es configurable, envía una contraseña temporal vs. enlace de recuperación de
  • tiene preferiblemente sistema de invitación, por lo que el proceso de registro puede ser controlado

No creo que haya ninguna que tenga todas estas características, entonces estoy buscando una que cubra tanto como sea posible. Pero estas son características que casi cualquier servicio web de diseño debe tener. Entonces no quiero reinventar la rueda.

+2

¿Ha mirado a [Pinax] (http://pinaxproject.com/)? Su [página de ecosistema] (http://pinaxproject.com/ecosystem/) tiene aplicaciones de referencia/invitación, la aplicación de cuentas integrada tiene enlaces de restablecimiento de contraseña (no sé cómo configurarlo) - lo único que veo que falta es la autenticación de FB/google. – AdamKG

+0

Todavía no, pero voy a mirar. – grigy

Respuesta

31

No hay un paquete de Django que cubre todo, en su lugar hay numerosos grandes proyectos que abordan cada uno de los requisitos que mencionas:

  • de autenticación en general: django-auth - esto es una parte de la distribución de Django, pero necesita ser eneabled
  • autenticación sociales: django-social-auth - integra la autenticación social con el flujo por defecto django-auth
  • registro y contraseñas: django-registration - agrega el flujo de registro, incluyendo el signo y la confirmación de correo electrónico, etc.
  • invitación sistema: django-invitation - permite el registro a limitarse a las invitaciones
  • perfiles: django-profiles - que permite a extender la cuenta de usuarios con un perfil

También puede consultar django-userena que es una nueva solución alojada para la administración de usuarios para su aplicación django. No he investigado cómo funciona o qué tan completo es, pero parece prometedor.

Por último, echar un vistazo a los paquetes de Django para otras aplicaciones de autenticación:

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

EDIT:

Este post es un poco anticuado

  • django-sociales -auth se ha convertido en python-social-auth
  • django-allauth: Hay otra buena aplicación de autenticación todo en uno llamada django-allauth. No lo he usado extensamente, pero creo que se encarga de auth, social-auth, registro y perfiles en una sola aplicación
  • Modelos de usuario configurables: Django 1.5 introdujo un configuratble User models en el módulo auth para que pueda editar los campos que desea utilizar para su usuario (solo correo electrónico, sin nombre de usuario, etc.). Esto también es útil si desea añadir información de perfil similar a su usuario sin tener que unirse con otra tabla (como lo haría con Django perfiles o una relación OneToOne con un modelo de perfil personalizado)
1

Ir a django allauth. Cubre todos los flujos de autenticación, modelo de usuario personalizado. y más de 50 proveedores de autenticación social. Lo estamos usando desde hace mucho tiempo y ha evolucionado mucho a lo largo del tiempo.

0

En primer lugar debe instalar socio-auth-app-django:

pip install social-auth-app-django 

A continuación, añadir que en su INSTALLED_APPS (en la configuración) a continuación, usted tiene que crear claves de la API, siguiendo los pasos siguientes para las redes que desee habilitar:

  • Google
    • Crear un proyecto en Google Cloud Platform
  • Facebook
    • ingrese con los desarrolladores de Facebook y crear claves de la API
  • Twitter

Después de crear el proyecto obtendrá el ID de aplicación y la App Secreto (no lo comparta con ningún uno) luego agregue estos ID & Secret en la configuración y proporcione una url válida de redirec para obtener más información

Cuestiones relacionadas