google developers conectar con autenticación allauth django facebook django-apps

developers - django google login



Recomendación de Django Facebook Connect App (6)

Quiero implementar el inicio de sesión de conexión de Facebook para mi sitio de Django y he comprobado las aplicaciones ya existentes.

Hasta ahora, he encontrado Django-Socialauth , django-socialregistration y django-facebookconnect para este propósito.

La pregunta es cuál elegir, y me gustaría saber de otros desarrolladores que tienen experiencia con cualquiera de estas aplicaciones.

Para mí, es importante que la aplicación de inicio de sesión de Facebook Connect funcione correctamente con @login_required, con el sistema de autenticación predeterminado y con django-registration.

Por favor comparte tu experiencia :)


Con mucho, el paquete más utilizado para la autenticación de Facebook en Django es Django Facebook:

https://github.com/tschellenbach/Django-facebook

También le da acceso a las API de Facebook utilizando el cliente de API Open Facebook incluido.


He usado django-allauth y django-facebook en dos proyectos diferentes.

django-allauth fue excelente y proporcionó un excelente soporte para iniciar sesión y crear perfiles de usuario. También podría funcionar con otros proveedores de autenticación, que no implementé.

https://github.com/tschellenbach/Django-facebook funcionó de la caja, pero solo es compatible con Facebook. También proporcionó API simples para buscar los "me gusta" y los amigos de Facebook directamente en el db, ¡lo cual me gustó mucho!

facebook.get_and_store_likes(user) facebook.get_and_store_friends(user)


Hola. Echa un vistazo a la aplicación fbconnect que nosotros (en realidad, Hernani, un chico de nuestro equipo) osqa para osqa (un clon de CNPROG).

Tendrás que, probablemente, retocar un poco para adaptar eso a tus necesidades. Funciona con @login_required decorator y el sistema estándar django.contrib.auth , pero no usamos django-registration .

Nuestra aplicación también funciona con inicio de sesión con contraseña y abierta, pero la parte con acceso abierto está estrechamente unida al componente de preguntas y respuestas en la actualidad.

Podemos separarlo aunque en algún momento en el futuro, si alguien puede estar interesado en la aplicación django "anything-signin" o ya tiene algo mejor, por favor háganoslo saber.


Jugué con bibliotecas basadas en .NET y las encontré frustrantemente desactualizadas. Facebook parece cambiar sus API con frecuencia, por lo que si no puede encontrar una biblioteca que se mantenga de forma rutinaria, encontrará que obtendrá la mitad de su implementación antes de darse cuenta de que hay problemas serios.

Tuve cierto éxito con la API de JavaScript que Facebook publica y mantiene. Si bien la documentación puede no estar siempre actualizada, descubrí que siempre estuve a una distancia considerable de la implementación correcta (se necesitan uno o dos cambios).


Quería implementar una funcionalidad básica de "Iniciar sesión usando Facebook" en mi aplicación Django. No quería mostrarle al usuario un formulario para completar o pedirle que elija una contraseña. Prefiero hacerlo sin interrupciones.

En función de mis requisitos, django_facebook_oauth fue la mejor aplicación para mí. Simplemente le permite al usuario iniciar sesión usando Facebook, y obtiene la información del usuario que mi aplicación de Facebook le solicite (según mi cuadro de diálogo de autenticación de Facebook). Crea un nuevo usuario en Django con el correo electrónico de Facebook del usuario, un nombre de usuario y una contraseña en blanco.

Lo recomiendo altamente.


Actualización (26/11/2013) : estoy actualizando mi recomendación. Como ha pasado una cantidad de tiempo suficiente desde que escribí esta respuesta, recomendaría python-social-auth o django-allauth como las mejores herramientas para el trabajo. Son proyectos activos con buena documentación y soporte para mucho más que solo Facebook. He tenido éxito usando ambos.

He tenido más suerte al adaptar django-socialregistration con django-registration (0.8). Dado que está trabajando con django-registration, tendrá que trabajar un poco, ya que los tres paquetes asumen el papel tanto de la creación como de la autenticación del usuario.

Solo iba a explicar lo que había que hacer, pero me inspiró para que finalmente obtuviera mi versión: hello-social-registration .

Al igual que aludí, separa las funciones de registro en un back-end django-registration y maneja toda la autorización en sí. He estado usando esto en mi aplicación near-beta desde hace un tiempo sin problemas (también se lo di a un amigo para que lo use hace unos meses y lo puso a funcionar sin mucha modificación).

Definitivamente aún no está listo para ser una aplicación reutilizable plug-and-play, pero con suerte le brindará alguna información. :)