La necesidad de realizar un registro rápido a nuestros usuarios cada vez es mas que necesario por eso aquí les muestro como realizar un inicio de sesión con Google con PHP. Este tutorial es muy bueno para implementar a tu sitio web o sistema web ya que es muy sencillo tanto para el usuario como para implementar dentro del proyecto ya que con pocas líneas de código vas a poder tener listo el sistema.


Hoy vamos a ver cómo iniciar sesión con Google en PHP para aprender a agregar esta funcionalidad en nuestros sistemas web.
A parte de ser mucho mas seguro y cómodo para los usuarios, ya que no solo le facilita el usuario si no también la  contraseña.
Bien la primera parte vamos a ver de como iniciar la sesión con Google en PHP.
Lo primero es instalar la librería que nos ofrece el mismo Google para php

 

composer require google/apiclient:^2.0

 

y por supuesto el autoload cada que utilicemos la librería:

 

require_once 'vendor/autoload.php';

 

Siempre recomiendo tener un archivo separado donde guardemos las variables necesarias, tanto como el id cliente, el secreto y la url de redirección, esto es para tener un orden y si es necesario solamente editar este archivo mas adelante.

 

$googleClientId = '[clientid]';
$googleClientSecret = '[secret]';
$googleRedirectUri = 'https://..../login-google.php';

 

Estos datos los obtenemos al momento de crear un proyecto en la consola que Google nos provee y a activar la API, les dejo el enlace para poder crear https://developers.google.com/workspace/guides/create-project

 

Ahora vamos a lo bueno, crearemos nuestro objeto cliente de Google.

 

$googleClient = new Google_Client();
$googleClient->setClientId($googleClientId);
$googleClient->setClientSecret($googleClientSecret);
$googleClient->setRedirectUri($googleRedirectUri);
$googleClient->addScope("email");
$googleClient->addScope("profile");

 

En esta sección creamos nuestro cliente mediante nuestras variables, donde vamos a establecer donde vamos a enviar a nuestro cliente luego de iniciado la sesión, así también podemos generar un sesion_start para guardar una variable de sesión dentro de nuestro código. Con este código lo que estamos indicando es que Google nos envié el correo y la imagen de perfil del usuario. 

 

<a href="<?php echo $googleClient->createAuthUrl(); ?>"><img src="src/img/google.png" /></a>

 

donde el método createAuthUrl creara la URL donde se validará la cuenta del usuario, colocamos una imagen de Google para que se le vea al usuario así y pueda reconocer con que método puede iniciar sesión en nuestro proyecto.

 

Ahora el usuario podrá visualizar un botón de iniciar sesión con Google, pero aún falta algo muy importante y es que nos regrese si ha tenido éxito o no y la información que solicitamos.
Vamos a crear un nuevo archivo login-google.php o el archivo que colocaste en la variable googleRedirectUri.
Una vez más llamamos al autoload y creamos nuestro objeto Google_Client.
Google nos pasa mediante GET una variable llamada code, debemos validarla y con ella obtener el token de acceso a la cuenta del usuario.

 

if (isset($_GET['code'])) {
$token = $googleClient->fetchAccessTokenWithAuthCode($_GET['code']);
$googleClient->setAccessToken($token['access_token']);
$google_oauth = new Google_Service_Oauth2($googleClient);
$google_account_info = $google_oauth->userinfo->get();
$email = $google_account_info->email;
$name = $google_account_info->name;
$picture = $google_account_info->picture;
}

 


Con este código tendremos el nombre del usuario, su correo electrónico y su imagen de perfil asi de sencillo.
Si contamos con un sistema de perfil con imágenes podremos asignar sin problemas la imagen aquí.
Y así logramos permitir a nuestros usuarios acceder vía Google, mucho más rápido y seguro que de forma manual.




Deja un Comentario

Tu dirección de correo no sera publicado. Los campos obligatorios están marcados con *

Nombre *
Correo *
Web