Hoy vamos a ver cómo permitir a nuestros usuarios iniciar sesión con Google en PHP para nuestros proyectos o sistemas web, de esta forma el usuario ingresa mucho más rápido, comodo y seguro sin necesitar de teclear usuario y contraseña con el método tradicional.
Actualmente existen varias formas en las que el usuario puede ingresar a un sistema en Internet.
Desde el tradicional ingresar usuario y contraseña hasta iniciar sesión con alguna red social.
Hoy vamos a ver cómo iniciar sesión con Google en PHP para aprender a agregar esta funcionalidad en nuestros sistemas web.

¿Necesitas hosting wordpress? WebEmpresa te ofrece un servicio super rápido, excelente soporte en español y certificado SSL gratuito:
WebEmpresaEsto además de ser más seguro es mucho más cómodo de cara al usuario donde ya no tiene que aprenderse otra contraseña más o ingresar usuario y contraseña.
Sin más vamos a iniciar y veamos cómo iniciar sesión con Google en PHP.
Lo primero es instalar la librería de cliente de 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';
Vamos a crear un archivo con variables necesarias como el id cliente, el secreto y la URL de redirección, también podemos crear estas variables en el mismo archivo donde trabajaremos, pero me gusta mantener el orden.
$googleClientId = '[clientid]'; $googleClientSecret = '[secret]'; $googleRedirectUri = 'https://..../login-google.php';
Estos valores lo obtendremos al crear un proyecto en la consola de Google y activar el API, ver cómo hacerlo aquí:
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 este código creamos nuestro cliente mediante nuestras variables, establecemos a donde redirigir después de que el usuario inicie sesión y solicitamos a Google nos envíe correo e imagen de perfil del usuario.
Ahora donde queramos colocar nuestro enlace colocamos el siguiente codigo:
<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í:
Ahora el usuario podrá visualizar un botón de iniciar sesión con Google, pero aún falta que nos regrese si ha tenido éxito o no y la información que solicitamos (correo e imagen de perfil).
Vamos a crear nuestro 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.
Si nuestro sistema tiene perfil e imagen podremos asignarla directo desde aquí.
No olvides validar el caso contrario en caso de que el inicio falle.
Y así logramos permitir a nuestros usuarios acceder vía Google, mucho más rápido y seguro que de forma manual.
Si esta información sobre cómo iniciar sesión con Google en PHP te ha sido de utilidad no olvides compartirla en tus redes sociales y dejarnos un comentario en la sección de abajo, si tienes alguna duda será un placer ayudarte.
¡Hasta luego!