social_django google developers auth allauth python django facebook oauth facebook-oauth

python - google - ¿Cómo hacer posible el inicio de sesión de Facebook en la aplicación Django?



python social auth documentation (5)

He creado una aplicación Django. La aplicación tiene una funcionalidad de inicio de sesión.

¿Alguien puede ayudarme a encontrar una manera de hacer posible el inicio de sesión usando credenciales de Facebook o señalarme algunos tutoriales para implementarlo?


Resumen;

https://github.com/mlavin/django-all-access

django-all-access es una aplicación reutilizable para el registro y la autenticación de usuarios de los proveedores de OAuth 1.0 y OAuth 2.0, como Twitter y Facebook.

El objetivo de este proyecto es facilitar la creación de sus propios flujos de trabajo para la autenticación con estas API remotas. django-all-access proporcionará las vistas simples con valores predeterminados correctos junto con los ganchos para anular el comportamiento predeterminado.

Hay una aplicación de demostración simple ejecutándose en http://allaccess-mlavin.dotcloud.com/ La fuente completa de esta aplicación se incluye en el repositorio.

https://github.com/pennersr/django-allauth

Conjunto integrado de aplicaciones de Django que abordan la autenticación, el registro, la administración de cuentas y la autenticación de cuentas de terceros (sociales).

Flujos admitidos

  • Registro de cuentas locales y sociales
  • Conectar más de una cuenta social a una cuenta local
  • Desconexión de una cuenta social: requiere establecer una contraseña si solo queda la cuenta local
  • Registro instantáneo opcional para cuentas sociales: sin preguntas
  • Administración de direcciones de correo electrónico (múltiples direcciones de correo electrónico, establecimiento de una primaria)
  • Flujo de contraseña olvidada
  • Flujo de verificación de dirección de correo electrónico

Proveedores compatibles

  • Dropbox (OAuth)
  • Facebook (tanto OAuth2 como JS SDK)
  • Github
  • Google (OAuth2)
  • LinkedIn
  • OpenId
  • Persona
  • SoundCloud (OAuth2)
  • Stack Exchange (OAuth2)
  • Twitch (OAuth2)
  • Gorjeo
  • Weibo (OAuth2)

https://github.com/omab/django-social-auth

Django Social Auth es una manera fácil de configurar el mecanismo de autenticación / autorización social para los proyectos de Django.

Creado con el código base de https://github.com/henriklied/django-twitter-oauth y https://launchpad.net/django-openid-auth , implementa una interfaz común para definir nuevos proveedores de autenticación de terceros.

Proveedores compatibles

  • Google OpenID
  • Google OAuth
  • Google OAuth2
  • Yahoo OpenID
  • OpenId como myOpenID
  • Twitter OAuth
  • Facebook OAuth

https://github.com/uswaretech/Django-Socialauth

Que hace

  1. Permitir el inicio de sesión a través de varios proveedores.
  2. Importe contactos de varios sitios de terceros para averiguar cuáles de sus amigos ya usan nuestro servicio.

Iniciar sesión

Esta es una aplicación que permite la autenticación a través de varios sitios de terceros. En particular, permite iniciar sesión a través de

  • Gorjeo
  • Gmail
  • Facebook
  • Yahoo (esencialmente openid)
  • OpenId

https://github.com/hiidef/oauth2app

El módulo oauth2app ayuda a los operadores de sitios de Django a proporcionar una interfaz OAuth 2.0. El módulo está registrado como una aplicación.

https://github.com/timetric/django-oauth

Esta es una versión bifurcada de django-oauth de David Larlet.

Una diferencia muy importante es que esta versión requiere que esté ejecutando un caché real detrás del marco de caché de Django .

django-oauth-access

https://github.com/eldarion/django-oauth-access

  • Gorjeo
  • LinkedIn
  • Yahoo
  • Facebook (usando OAuth 2.0: es funcional, pero necesita más trabajo)
  • Probablemente cualquier sitio compatible con OAuth 1.0a

https://github.com/daaku/django-oauth-consumer

Una aplicación django que proporciona infraestructura para consumir servicios de OAuth. No es para proporcionar servicios de OAuth.

También es útil:


La nueva forma de hacerlo es mediante el uso de python-social-auth , ya que django-social-auth se desaprobó en favor de python-social-auth y ahora admite otros marcos además de Django como Flask, Pyramid, Web.py y Tornado .

También es compatible con otros proveedores principales de autenticación como Microsoft, Google, Twitter, Amazon, GitHub y muchos más .

Esta es una forma rápida de comenzar a configurarlo en Django: ¿Cómo iniciar sesión con la API de Google+ usando Django?


PARA APLICACIÓN MÓVIL, si está desarrollando una aplicación para ios / android con django en el back-end, lo que puede hacer es iniciar sesión en facebook en la interfaz utilizando facebook ios / android api. Pero este no es el inicio de sesión final de su aplicación. Al iniciar sesión en Facebook, Facebook le proporciona un token de acceso que luego puede enviar a su servidor django junto con su nombre de usuario / correo electrónico de Facebook. En la parte posterior, django puede usar algo como facebook python sdk para verificar el par de tokens de acceso de usuario al comunicarse con Facebook. Si se verifica, finalmente puede iniciar sesión en el usuario de su aplicación.

Usar el sdk de python es fácil, solo lea el tutorial y se comunicará con facebook en segundos.


Puedo recomendar totalmente django-allauth . ¡Simplemente funciona!


Recomiendo usar https://github.com/omab/django-social-auth . El archivo README es muy completo y también incluye información para autenticarse contra otras fuentes de OAuth como Twitter y contra fuentes de OpenID como Google y Yahoo. Por supuesto, si solo desea la autenticación de Facebook, puede usarla para eso.

También hay una aplicación de ejemplo incluida, que le brinda un código de muestra para jugar.