google - social-auth-app-django
Conéctate con Facebook en Django Rest Framework+Django Social Auth (3)
Ahora puede autenticar a sus usuarios contra su django-rest-framework con tokens de portador / tokens de acceso de terceros desde cualquier backend de python-social-auth (Facebook, Google, Github, etc.) usando esta biblioteca https://github.com/PhilipGarnero/django-rest-framework-social-oauth2
Este módulo proporciona una compatibilidad con python-social-auth y oauth2 para django-rest-framework. Por lo tanto, esto le ahorra mucho tiempo para configurar lo que se requiere para tener su DRF con autorización social y para estar seguro de OAuth2.
Estoy usando Django Social Auth para conectar con Facebook y funciona perfectamente. He desarrollado una API para mi aplicación django con Django Rest Framework . Pero estoy confundido acerca del uso de Django Social Auth con Django Rest Framework para dispositivos iOS. He buscado 1 , 2 , 3 y 4 pero generalmente son angulares js. No estoy familiarizado con el desarrollo de iOS.
¿Cuál es la diferencia entre Facebook Connect con Spa y un dispositivo móvil? ¿Cómo podría usar estos paquetes juntos? ¿Puedo migrar de django-social-auth a python-social-auth?
Gracias por adelantado
Creo que puedes lograrlo usando el framework django rest , django-rest-auth y allauth . Esos tres trabajan bien juntos.
- Con django rest framework ya lo conoces.
- El allauth es responsable de la autenticación social.
- El django-rest-auth responsable de crear la API RESTful para la autenticación social, es decir, la conexión entre django-rest-framework y allauth.
Se recomienda que deje que python-social-auth
maneje el inicio de sesión de Facebook por usted, y en su lugar use otro complemento de OAuth para el Marco REST de Django para autenticarse con Django. Esto tiene la ventaja adicional de que también admite el inicio de sesión que no sea de Facebook a través del sistema de autenticación Django estándar.
Estoy confundido acerca del uso de Django Social Auth con Django Rest Framework para dispositivos iOS.
Hace poco respondí una pregunta similar sobre la implementación de la autenticación con python-social-auth
y Django REST Framework. Incluye algunos puntos importantes sobre los que se debe leer cuando se implementa la autenticación con un tercero, junto con algunas notas importantes sobre cómo no debe pasar los tokens OAuth de terceros a su cliente .
¿Cómo podría usar estos paquetes juntos?
Si bien esa respuesta menciona específicamente el uso de OAuth como método de autenticación para la API que está detrás de python-social-auth
, puede usar otros métodos de autenticación que usen internamente el sistema de autenticación Django, como TokenAuthentication
. En cualquier caso, terminará procesando la autenticación entre su aplicación de front-end y su proveedor de autenticación de terceros, utilizando su API de back-end.
¿Cuál es la diferencia entre Facebook Connect con Spa y un dispositivo móvil?
Facebook proporciona integración directa con algunos sistemas operativos móviles, especialmente iOS y Android . Esto omite su API para la autenticación y autentica directamente su aplicación móvil con Facebook. Lo ideal sería autenticar su API de back-end en lugar de la aplicación móvil. Esto todavía puede ser posible si pasa el token de acceso de nuevo a su API manualmente, esencialmente haciendo lo mismo que python-social-auth
estaría haciendo, pero eso podría ser riesgoso y puede que no valga la pena el esfuerzo adicional.
Facebook Connect (ahora conocido solo como Facebook Login) funciona de manera similar a cómo funciona la integración de Facebook en dispositivos móviles. La única diferencia que puede funcionar a su favor es que es muy fácil pasar del inicio de sesión de Facebook para aplicaciones de una sola página a un patrón de autenticación basado en OAuth. Esto se documenta en la documentación de los desarrolladores de Facebook como "Creación manual de un flujo de inicio de sesión" y es compatible con las bibliotecas que admiten el inicio de sesión basado en OAuth, como python-social-auth
.
¿Puedo migrar de django-social-auth a python-social-auth?
Esto ya no debería ser un problema, ya que python-social-auth
ha reemplazado efectivamente a django-social-auth
.