Logotipo de Zephyrnet

Autenticación de usuarios sociales en Django Framework

Fecha:

Autenticación de usuarios sociales en Django Framework
Imagen del autor

Django es un marco web gratuito de código abierto en Python. Sigue el patrón arquitectónico modelo-vista-controlador y proporciona una interfaz de administración integrada, mapeo relacional de objetos (ORM) y un motor de plantillas, entre otras características. El objetivo principal de Django es facilitar a los desarrolladores la creación y el mantenimiento de aplicaciones web al proporcionar un conjunto de componentes reutilizables de alto nivel para tareas cotidianas, como el manejo de la autenticación de usuarios, la creación y administración de bases de datos y el manejo de solicitudes y respuestas HTTP.

Este artículo discutirá cómo podemos realizar la autenticación social en una aplicación Django usando Google. La autenticación social, también conocida como inicio de sesión o inicio de sesión social, es un método para autenticar a los usuarios que utilizan sus cuentas de redes sociales existentes, como Facebook, Google o Twitter, en lugar de crear una nueva cuenta específicamente para el sitio web o la aplicación.

Los beneficios de usar la autenticación social en lugar de un sistema de autenticación tradicional son que elimina la necesidad de que los usuarios creen y recuerden otro nombre de usuario y contraseña, lo que reduce la fricción y aumenta la probabilidad de que los usuarios se registren en el sitio web o la aplicación. Además, mejora la experiencia del usuario al permitirles iniciar sesión con sus cuentas de redes sociales existentes. La autenticación social proporciona una experiencia de usuario más fluida y familiar.

  1. Inicie sesión en la plataforma de la consola de Google. puedes usar eso liga para iniciar sesión.
  1. Cree un nuevo proyecto si aún no tiene uno.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Después de crear el proyecto, debemos configurar la pantalla OAuth. Esta pantalla se muestra cuando un cliente intenta autenticar su sitio web mediante Google Auth. Contiene el resumen de su aplicación y todas las políticas requeridas.
  1. Haga clic en el botón como se muestra a continuación.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Seleccione el Tipo de usuario como Externo y haga clic en Crear botón.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Complete todos los datos requeridos y continúe.
  1. Deje la sección de Dominio autorizado vacía, ya que actualmente estamos probando nuestra aplicación en el servidor local. Si aloja su sitio web con un nombre de dominio adecuado, debe ingresar el nombre de dominio de su sitio web aquí.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Deje los otros pasos, como Scops y Test Users, vacíos.
  1. Después de configurar la pantalla OAuth, vaya a Credentials << CREATE CREDENTIALS << OAuth client ID

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Seleccione el tipo de aplicación como Aplicación web.
  1. Complete toda la información requerida y haga clic en Crear botón.

Nota: Agregue URL de redirección autorizadas, ya que actualmente ejecutamos nuestra aplicación en el host local. Puede cambiar las URL de redirección de acuerdo con su nombre de dominio.

 

http://127.0.0.1:8000/accounts/google/login/callback/

http://localhost:8000/accounts/google/login/callback/

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Ahora, obtendrá su ID de cliente y Secreto de cliente que usaremos en nuestra aplicación Django. 

Nota: No comparta estas credenciales con nadie.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

Encontrará sus credenciales creadas en el Sección de Credenciales.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor

En esta sección, discutiremos cómo crear una aplicación Django y cómo usar la autenticación de usuario social. Si eres nuevo en Django, eso también está completamente bien. Voy a explicar cada paso en detalle.
 

Nota: Usaremos una máquina Windows en este tutorial.

 

  1. Crea un entorno virtual
$ py -m venv  // Command to create venv
$ Scriptsactivate // Command to activate venv

 

Nota: Siempre se recomienda crear un entorno virtual. Le ayudará a administrar bien sus bibliotecas/dependencias.

 

  1. Instalación de las bibliotecas necesarias:
$ pip install django
$ pip install django-allauth

 

¿Qué es Django allauth?

Django-allauth es una biblioteca para el marco web de Django que proporciona un conjunto de vistas y formularios de autenticación todo en uno, un registro de usuario unificado y un proceso de autenticación en varios proveedores de cuentas (sociales) de terceros como Google, Facebook, etc. Permite a los desarrolladores agregar rápida y fácilmente funciones de autenticación y registro a sus proyectos de Django. También proporciona soporte para OAuth y OpenID Connect.

  1. Creando un Proyecto Django
$ django-admin startproject  //socialauthapp 

 

  1. Mover dentro del directorio del proyecto
$ cd  //socialauthapp 

 

  1. Agregue las aplicaciones dentro de la lista INSTALLED_APPS en el settings.py archivo.
INSTALLED_APPS = [ "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "allauth", "allauth.account", "allauth.socialaccount", "allauth.socialaccount.providers.google",
]

 

  1. En el mismo archivo settings.py, agregue los siguientes backends de autenticación.
AUTHENTICATION_BACKENDS = ( "django.contrib.auth.backends.ModelBackend", "allauth.account.auth_backends.AuthenticationBackend",
)

 

  1. Ahora tenemos que agregar las urls allauth en el urls.py archivo en el directorio principal del proyecto. Después de agregar las direcciones URL de su urls.py El archivo tiene este aspecto.
from django.contrib import admin
from django.urls import path
from django.urls import include, re_path urlpatterns = [ path("admin/", admin.site.urls), re_path("accounts/", include("allauth.urls")),
]

 

  1. Realice todas las migraciones necesarias.
$ python manage.py makemigrations
$ python manage.py migrate

 

  1. Ahora, crearemos un superusuario (Este es un usuario administrador que tiene todo tipo de acceso/permisos)
$ python manage.py createsuperuser

 

  1. Finalmente, ejecutaremos nuestro servidor.
$ python manage.py runserver

 

  1. Al presionar esta url (http://localhost:8000/accounts/login/), podrá ver el formulario de inicio de sesión.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

Nuestra aplicación Django ya está creada. Si se encuentra con algún error mientras ejecuta el servidor, verifique todos los pasos nuevamente. Si puede ver la página de inicio de sesión anterior, ¿su aplicación funciona perfectamente?

En esta sección, agregaremos el ID de cliente y del Secreto del cliente en nuestra app que hemos creado en la consola de google.

  1. Abra el panel de administración de Django. (http://localhost:8000/admin/login/?next=/admin/)
  1. Ingrese el nombre de usuario y la contraseña que estableció al crear el superusuario.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Haga clic en Aplicaciones Sociales y luego haga clic en Agregar aplicación social.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

  1. Seleccione el proveedor como Google e ingrese su ID de cliente y Secreto de cliente. Y finalmente, haga clic en el botón Guardar.
  1. Ahora cierre sesión en el Panel de administración y ya habrá terminado.

Pasos para iniciar sesión

Presiona esta URL (http://localhost:8000/accounts/google/login/?process=login) para iniciar sesión a través de su aplicación usando Google.

 

Autenticación de usuarios sociales en Django Framework
Imagen del autor
 

Nota: Después de iniciar sesión, será redirigido automáticamente a la página de perfil (es decir, http://localhost:8000/accounts/profile/).

Cambio de URL de redirección

Puede cambiar las URL de redireccionamiento predeterminadas especificando su URL de redireccionamiento particular en el settings.py archivo.

Por ejemplo,

LOGIN_REDIRECT_URL = "/" # This will redirect to your homepage
LOGOUT_REDIRECT_URL = "/"

 

Cerrar Sesión

Puede cerrar sesión en la aplicación presionando esta URL (http://localhost:8000/accounts/logout/).

En este artículo, hemos adoptado un enfoque paso a paso para mostrar cómo integrar la autenticación de Google en una aplicación web de Django. Para comenzar, creamos un servicio en Google Console y obtuvimos el ID de cliente y el Secreto de cliente necesarios. Luego, después de crear la aplicación, ingresamos las claves secretas en el Portal de administración e iniciamos sesión correctamente en la aplicación mediante la autenticación de Google.

Vale la pena señalar que podemos aplicar el mismo proceso para autenticar a los usuarios usando Facebook or Github. Al crear las claves secretas de los respectivos portales de administración e ingresarlas en el portal de administración de la aplicación Django, también puede habilitar la autenticación a través de estos proveedores.

En conclusión, espero que hayas disfrutado este artículo y lo hayas encontrado informativo. Si tiene alguna sugerencia o comentario, comuníquese conmigo a través de LinkedIn.

Que tengas un buen día 😊.
 
 
Garg ario es un B.Tech. Estudiante de Ingeniería Eléctrica, actualmente en el último año de la carrera. Su interés radica en el campo del Desarrollo Web y el Aprendizaje Automático. Ha perseguido este interés y estoy ansioso por trabajar más en estas direcciones.
 

punto_img

Información más reciente

punto_img