• INICIO
  • SOBRE MÍ
  • HERRAMIENTAS
  • VIDEOS
  • SERVICIOS
  • CONTACTAR

Blog de Jonathan Melgoza

MENUMENU
  • Menu
  • Programación
  • Desarrollo web
  • Tecnología
  • Marketing
  • SEO
  • Informática
  • Ganar Dinero
  • Emprendimiento
  • Electrónica
  • Entrevistas
  • Reviews
  • Opinión
  • Hacking
  • Offtopic
Blog > Desarrollo web > Iniciar sesión con Google en PHP

Iniciar sesión con Google en PHP

Iniciar sesión con Google en PHP

Jonathan Melgoza 2021-07-21 Desarrollo web
Comparte con tus amigos
Compartir en Facebook Compartir
Compartir en TwitterTweet
Compartir en Linkedin Compartir

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.


¿Sabías que?

¿Necesitas hosting wordpress? WebEmpresa te ofrece un servicio super rápido, excelente soporte en español y certificado SSL gratuito:

WebEmpresa

Esto 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í:

iniciar sesión con google en php - google

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!

Clic para valorar esta información
[Total: 2 Promedio: 5]

Comparte con tus amigos
Compartir en Facebook Compartir
Compartir en TwitterTweet
Compartir en Linkedin Compartir

  • jonathan melgoza

    ¡Hola! Soy Jonathan Melgoza, Ingeniero en sistemas computacionales, juntos en este blog aprenderemos sobre programación, desarrollo web, tecnología, SEO, emprendimiento y mucho más, cosas que a ti y a mí nos apasionan.

    sigueme en feedly

    Easy Codigo - Soluciones en software, web y movil

    jonathan__melgoza

    Proyecto de electrónica con Esp32Cam.Proyecto c Proyecto de electrónica con Esp32Cam.Proyecto completo en el blog.#electronica #arduino #iot #esp32cam #proyecto
    Sígueme en Instagram
    vacante de programador en easycodigo
    Como ganar dinero por internet
    Como crear mi marca personal en Internet
    Como hacer un blog este 2017

Enlaces

  • Sobre mí
  • Acerca del blog
  • Aviso Legal
  • Escribir post de invitado
  • Publicidad en el sitio

Ayuda hosting

  • Mejor Hosting en México en el 2023
  • Como Contratar un Hosting
  • Hosting para tienda en linea – SSL Gratis!
  • ► Hosting WordPress México 💕 Top 3 💕
  • Hosting con cPanel – Mejores Proveedores

Articulos recientes

  • Configurar variables de entorno en MAC OS
  • Envío de correo con Amazon SES y PHP
  • ¿Cómo redactar un correo de presentación?
  • Contratar hackers Mexicanos ¿Vale la pena?
Jonathan Melgoza Copyright © 2023.
Hospedado por WebEmpresa