ReactJS
Users

Autenticación de Google en React con Parse

9min

Inicio de sesión de Google en React

Introducción

En el último tutorial, construiste una función de inicio/cierre de sesión de usuario en tu aplicación utilizando la Parse.User clase. Ahora aprenderás cómo usar Google Sign-in para recuperar datos de usuario de Google e iniciar sesión, registrarte o vincular usuarios existentes con ello. También instalarás y configurarás la react-google-login biblioteca para lograrlo.

El Parse.User.linkWith método es responsable de registrar e iniciar sesión a los usuarios utilizando cualquier método de autenticación de terceros, siempre que pases los parámetros correctos solicitados por cada proveedor diferente. Después de vincular los datos del usuario a un nuevo o existente Parse.User, Parse almacenará una sesión de usuario válida en tu dispositivo. Las futuras llamadas a métodos como current recuperarán con éxito tus datos de usuario, al igual que con inicios de sesión regulares.

Requisitos previos

Para completar este tutorial, necesitarás:

Objetivo

Construir una función de inicio de sesión de usuario utilizando Google Sign-in en Parse para una aplicación React.

1 - Instalando dependencias

La forma más popular de habilitar el inicio de sesión de Google en React es usando react-google-login para manejarlo. Configúralo siguiendo la documentación oficial.

Asegúrate de crear un OAuth clientId en tu página de Credenciales de Google, añadiendo tu dirección de desarrollo local a las URLs autorizadas, que generalmente es http://localhost:3000.

2 - Usando el inicio de sesión de Google con Parse

Ahora vamos a crear un nuevo método dentro del UserLogIn componente que manejará la respuesta al llamar a un modal de autenticación de Google Sign-in. Si el usuario inicia sesión con Google, esta llamada recuperará los datos del usuario de Google y necesitarás almacenar el id, idToken, y el correo electrónico de Google. Luego, la función intentará iniciar sesión en Parse utilizando el Parse.User.linkWith método y estas credenciales. Ten en cuenta que si tu usuario ya se había registrado utilizando esta autenticación de Google, linkWith lo iniciará sesión utilizando la cuenta existente.

JavaScript
TypeScript


Después de eso, necesitas usar el react-google-login GoogleLogin componente para llamar al modal de inicio de sesión de Google, añadiéndolo a tu código JSX. Puedes usar el estilo predeterminado de Google o crear uno personalizado, que es el camino seguido por esta guía. Aquí está el código completo del UserLogin componente, nota el react-google-login botón y cómo está vinculado al método de respuesta del modal creado anteriormente.

JavaScript
TypeScript


Agrega estas clases a tu App.css archivo si deseas renderizar completamente el diseño de este componente.

App.css


Adelante, prueba tu nueva función. Si pudiste iniciar sesión en Google y la llamada a linkWith fue exitosa, deberías ver un mensaje de éxito como este.

Document image


3 - Verificando el inicio de sesión del usuario y la creación de sesión

Para asegurarte de que el inicio de sesión de Google funcionó, puedes mirar tu panel de Parse y ver tu nuevo Usuario (si tus datos de autenticación de Google no pertenecían a otro usuario), que contiene los authData de Google.

Document image


También puedes verificar que se creó una sesión válida en el panel, que contiene un puntero a ese Usuario objeto.

Document image


4 - Vinculando un usuario existente a Google Sign-in

Otro linkWith uso posible es vincular un usuario existente con otro proveedor de autenticación, en este caso, Google. Agrega esta función que llama a linkWith de la misma manera que iniciar sesión en tu UserLogIn componente. La única diferencia aquí es que en lugar de llamar al método desde un Parse.User, lo usarás desde el objeto del usuario actualmente conectado.

JavaScript
TypeScript


Asigne esta función a otro react-google-login componente en su pantalla de inicio, que solo se muestra cuando hay un usuario actual conectado en su aplicación. Pruebe su nueva función, notando que el Parse.User objeto authData se actualizará con los nuevos datos del proveedor de autenticación. Verifique si el usuario se ha actualizado en el panel de control de su servidor Parse.

Document image


Conclusión

Al final de esta guía, aprendió cómo iniciar sesión, registrarse o vincular usuarios existentes de Parse en React utilizando el inicio de sesión de Google con react-google-login. En la próxima guía, le mostraremos cómo usar el inicio de sesión de Apple.