Configuración de inicio de sesión de Google
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Introducción
Sección titulada “Introducción”En esta guía, aprenderá a configurar el inicio de sesión de Google con Capgo Inicio de sesión social. Necesitará lo siguiente para configurar el inicio de sesión de Google:
- Una cuenta de Google
Configuración general
Sección titulada “Configuración general”En esta parte, configurará la pantalla de inicio de sesión que muestra Google.
- Por favor, vaya a console.cloud.google.com
- Haz clic en el selector de proyecto
- Si no tienes un proyecto creado ya, por favor crear un nuevo proyecto.
- Haz clic en
New project
- Nombra tu proyecto y haz clic
Create
- Asegúrate de que estás en el proyecto correcto
- Haz clic en
- Comienza a configurar el
OAuth consent screen-
Haz clic en la barra de búsqueda
-
Búsqueda de
OAuth consent screenhaz clic en ella
-
Configura la pantalla de consentimiento
Haz clic en
create
-
- Rellene la información sobre su aplicación
-
Comencemos con la sección
App Information
- Por favor, escriba su
App Name - Ingrese el
user support email
-
Usted PUEDE agregar el logo de la aplicación.
-
Usted DEBE configurar el
App domain
-
Sección de información de contacto del desarrollador con campo de correo electrónico Haz clic en Botón de guardar y continuar en la parte inferior del formulario
-
Haz clic en
save and continue
- Por favor, escriba su
-
- Configura los alcances
-
Haz clic en
add or remove scopes
-
Seleccione los siguientes ámbitos y haga clic
update
-
Haga clic
save and continue
-
- Agregar un usuario de prueba
- Haga clic en
add users
- Ingrese su correo electrónico de Google, haga clic en ingresar y haga clic
add
- Haga clic
save and continue
- Haga clic en
- Haga clic
back to dashboard
- Enviar su aplicación para su verificación
Diferencias entre acceso en línea y acceso sin conexión
Sección titulada “Diferencias entre acceso en línea y acceso sin conexión”Hay varias formas de utilizar el inicio de sesión de Google con Capacitor. Aquí hay una tabla que resume las diferencias entre los dos:
| Acceso en línea | Acceso offline | |
|---|---|---|
| Requiere un backend | ❌ | ✅ |
| Token de acceso de larga duración | ❌ | ✅ |
| Configuración fácil | ✅ | ❌ |
Quieres que el usuario se registre, inmediatamente después vas a emitirle un JWT personalizado. Tu aplicación NO llamará a las API de Google
-
En este caso, elige acceso en línea.
Tu aplicación llamará a algunas API de Google desde el cliente, pero nunca desde el backend
-
En este caso, elige acceso en línea
Si todavía no sabes cuál debes elegir, por favor considera los siguientes escenarios:
-
Tu aplicación llamará a algunas APIs de Google desde el backend, pero solo cuando el usuario esté utilizando activamente la aplicación
En este caso, elige el acceso en línea
-
Tu aplicación verificará periódicamente el calendario del usuario, incluso cuando no esté utilizando activamente la aplicación
En este caso, elige el acceso en línea
Un ejemplo de backend para el acceso en línea
Sección titulada “Un ejemplo de backend para el acceso en línea”En esta parte del tutorial, mostraré cómo validar al usuario en su backend.
Este ejemplo será muy simple y se basará en las siguientes tecnologías:
Puedes encontrar el code para este ejemplo As puedes ver:
VS __CAPGO_KEEP_0__ mostrando autenticación de Google __CAPGO_KEEP_1__ que verifica tokens
y esto te devuelve si el token es válido o no y si lo es, te da el correo electrónico del usuario. También te da algunas otras informaciones sobre el token del usuario GET Google OAuth Playground mostrando información de respuesta de token con detalles del usuario https://www.googleapis.com/oauth2/v3/tokeninfo Desde allí, podrías emitir al usuario con tu propio JWT o emitir alguna clase de cookie de sesión. Las posibilidades son infinitas, para la implementación de autenticación final.
Google’s OAuth 2.0 Playground
If you do want to call Google API’s, I would strongly recommend looking at Usando acceso offline con tu propio backendhere
Desde allí, podrías emitir al usuario con tu propio JWT o emitir alguna clase de cookie de sesión. Las posibilidades son infinitas, para la implementación de autenticación final.
Sección titulada “Usando acceso en línea con tu propio backend”Para usar el acceso en línea necesitarás lo siguiente:
- Un servidor HTTP
En este ejemplo, utilizaré las siguientes tecnologías para proporcionar el acceso en línea en mi aplicación:
-
LowDb (una base de datos simple)
El code para este ejemplo se puede encontrar aquí
Para el cliente code, se ve así:
import { Capacitor } from '@capacitor/core';import { GoogleLoginOfflineResponse, SocialLogin } from '@capgo/capacitor-social-login';import { usePopoutStore } from '@/popoutStore'; // <-- specific to my app
const baseURL = "[redacted]";
async function fullLogin() { await SocialLogin.initialize({ google: { webClientId: '[redacted]', iOSClientId: '[redacted]', iOSServerClientId: 'The same value as webClientId', mode: 'offline' // <-- important } }) const response = await SocialLogin.login({ provider: 'google', options: { forceRefreshToken: true // <-- important } })
if (response.provider === 'google') { const result = response.result as GoogleLoginOfflineResponse const res = await fetch(`${baseURL}/auth/google_offline`, { headers: { "Content-Type": "application/json" }, body: JSON.stringify({ serverAuthCode: result.serverAuthCode, platform: Capacitor.getPlatform() }), method: "POST" })
if (res.status !== 200) { popoutStore.popout("Full google login failed", "check console"); return }
const { jwt } = await res.json(); const userinfo = await fetch(`${baseURL}/auth/get_google_user`, { headers: { Authorization: `Bearer ${jwt}` } }) if (userinfo.status !== 200) { popoutStore.popout("Full google (userinfo) login failed", "check console"); return } popoutStore.popout("userinfo res", await userinfo.text()); }}Fíjese en lo que falta aquí: no hay SocialLogin.refresh() llamada en la aplicación. Eso es intencional. En modo de línea de tiempo de Google, el refresco ocurre después de que su servidor intercambia serverAuthCode y almacena el token de refresco de manera segura.
Siga adelante desde Configuración de inicio de sesión de Google
Sección titulada “Siga adelante desde Configuración de inicio de sesión de Google”Si está utilizando Configuración de inicio de sesión de Google para planificar la autenticación y los flujos de cuenta, conéctela con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, @capgo/capacitor-iniciación-social para el detalle de implementación en @capgo/capacitor-iniciación-social, @capgo/capacitor-clave-llave para el detalle de implementación en @capgo/capacitor-clave-llave, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.