El inicio de sesión con Google en Drupal es bastante fácil de implementar gracias al módulo Social Auth Google. Este módulo está basado en el módulo social api, que básicamente facilita el inicio de sesión con diferentes servicios externos. Una de sus grandes ventajas, es que permite tanto registrarse como iniciar sesión usando el servicio externo. En este caso se va a trabajar sobre el inicio de sesión con google.
Instalación
como siempre, se hará uso de composer y drush para la instalación del módulo. Primero se requiere el módulo en composer:
composer require 'drupal/social_auth_google:^4.0'Y ahora se instala con drush:
drush en social_auth_googleUna vez instalado, se puede navegar a su página de configuración a través de la uri /admin/config/social-api/social-auth.
Configurando la API KEY de Google.
Antes de configurar el módulo en Drupal, hay que configurar la API KEY de Google, para ello ir a la Google Cloud Console. Una vez ahí se deberá elegir el proyecto (o crear uno nuevo en caso de ser necesario). Navegar a la pestaña de clientes de Google Auth Login e insetar los siguientes datos:
- ID Cliente
- ID Secreta
- Orígenes autorizados: el dominio de orígenes autorizados, tantos por cada entorno en el que se quiera que funcione el inicio de sesión.
- URIs de redireccionamiento autorizados: Sí no se conoce cual es esta URI (normalmente algo como [DOMAIN]/user/login/google/callback) desde el login fallido se podrá acceder al log y ahí saldrá la URL que se tiene que asignar.
Con estos datos ya se puede rellenar la página de configuración de Drupal.
Bloque Login con google
Desde la administración de bloques (/admin/structure/block) se puede añadir un bloque para que directamente lleve al usuario al login con Google.
Inicio de sesión
Al hacer click en el botón de inicio de sesión, o visitar la url de inicio de sesión, el portal viajará a una URL externa de inicio de sesión con google:
Comprobar que el usuario existe y se ha creado correctamente.
Desde gestión de usuarios se puede acceder a la pestaña de Social Auth Profiles y ver los usuarios que han usado este inicio de sesión.
Del mismo modo, se puede verificar que el usuario se ha creado correctamente desde la misma pestaña de usuarios.