Configuración de inicio de sesión de Google
Copya un prompt de configuración con los pasos de instalación y la guía completa de Markdown 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:
- Cuenta de Google
Configuración general
Sección titulada “Configuración general”En esta parte, configurarás la pantalla de inicio de sesión que se muestra por Google.
- Por favor, ve a https://console.cloud.google.com
- Haga clic en el selector de proyecto
- Si no tienes un proyecto ya creado, por favor crea un nuevo proyecto.
- Haga clic en
New project
- Nombra tu proyecto y haz clic
Create
- Asegúrate de que estás en el proyecto correcto
- Haga clic en
- Comienza a configurar el
OAuth consent screen-
Haz clic en la barra de búsqueda
-
Busca
OAuth consent screeny haz clic en ella
-
Configura la pantalla de consentimiento
Haz clic en
create
-
- Rellena la información sobre tu aplicación
-
Comencemos con la sección
App Information
- Por favor, escribe tu
App Name - Ingrese el
user support email
-
Usted PUEDE agregar el logo de la aplicación.
-
Tú DEBES configurar la sección de configuración de dominio de la aplicación con el campo de dominios autorizados
App domain
-
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ Proporcione el correo electrónico del desarrollador
-
Haga clic en
save and continue
- Por favor, escribe tu
-
- Configure los alcances
-
Haga clic en
add or remove scopes
-
Seleccione los siguientes alcances y haga clic
update
-
Haga clic en
save and continue
-
- Agregue un usuario de prueba
- Haga clic en
add users
- Ingrese su correo electrónico de Google, presione enter y haga clic
add
- Haga clic
save and continue
- Haga clic en
- Haga clic
back to dashboard
- Presente su aplicación para verificación
Diferencias entre acceso en línea y acceso fuera de línea
Sección titulada “Diferencias entre acceso en línea y acceso fuera de línea”Hay varias formas de usar Google Login con Capacitor. Aquí hay una tabla que resume las diferencias entre las dos:
| Acceso en línea | Acceso fuera de línea | |
|---|---|---|
| Requiere un backend | ❌ | ✅ |
| Token de acceso largo plazo | ❌ | ✅ |
| Configuración fácil | ✅ | ❌ |
Si todavía no sabes cuál debes elegir, por favor considera los siguientes escenarios:
-
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
-
Tu aplicación llamará a algunas API de Google desde el backend, pero solo cuando el usuario esté utilizando activamente la aplicación
En este caso, elige 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 acceso sin conexión
Un ejemplo de backend para acceso en línea
Título de la sección “Un ejemplo de backend para acceso en línea”In 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:
Puede encontrar el code para este ejemplo aquí
Como puede ver:
La idea es bastante simple. Envía una solicitud simple a GET 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 alguna otra información sobre el token del usuario https://www.googleapis.com/oauth2/v3/tokeninfo Este ejemplo será muy simple y se basará en las siguientes tecnologías:
Desde allí, podrías emitir al usuario con su propio JWT o emitir alguna clase de cookie de sesión. Las posibilidades son infinitas, para la implementación de autenticación final.
Si deseas llamar a Google API’, te recomendaría fuertemente echar un vistazo a El juego de playground de OAuth 2.0 de Google. Desde allí puedes ver fácilmente qué APIs puedes llamar.
Usando acceso offline con tu propio backend
Título de la sección “Usando acceso offline con tu propio backend”Para usar el acceso offline necesitarás lo siguiente:
- Un servidor HTTP
En este ejemplo, utilizaré las siguientes tecnologías para proporcionar el acceso offline en mi aplicación:
-
LowDb (una base de datos simple)
La code para este ejemplo se puede encontrar aquí
En cuanto al 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()); }}Observa qué está faltando aquí: no hay SocialLogin.refresh() llamada en la aplicación. Eso es intencional. En modo offline de Google, el refresco ocurre después de que su servidor intercambia serverAuthCode y almacena el token de refresco de manera segura.
Sigue adelante desde la configuración de inicio de sesión de Google
Sección titulada “Sigue adelante desde la configuración de inicio de sesión de Google”Si estás utilizando Configuración de inicio de sesión de Google para planificar la autenticación y los flujos de cuenta, conecta con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-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 Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.