Configuración de inicio de sesión de Google
Copiar una línea de comando 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ás a configurar el inicio de sesión con Google mediante Capgo Social Login. Necesitarás lo siguiente para configurar el inicio de sesión con Google:
- Una cuenta de Google
Configuración general
NotaPor favor, ve a
- console.cloud.google.com Haz clic en el selector de proyecto
- console.cloud.google.com
- Si no tienes un proyecto ya creado, por favor crear 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-
Haga clic en la barra de búsqueda
-
Buscar y
OAuth consent screenhaz clic en ella
-
Configura la pantalla de consentimiento
Haz clic en
create
-
- Rellena la información sobre tu aplicación
-
Comencemos con lo
App Information
- Por favor, escriba su
App Name - Introduzca el
user support email
-
Usted PUEDE agregue 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
-
Tú TENES QUE proporcionar el correo electrónico del desarrollador
-
Haz clic en
save and continue
- Por favor, escriba su
-
- Configura los alcances
-
Haz clic en
add or remove scopes
-
Selecciona los siguientes alcances y haz clic en
update
-
Haga clic
save and continue
-
- Agregar 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
- Envíe 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 usar Google Login con Capacitor. Aquí hay una tabla que resume las diferencias entre los dos:
| Acceso en línea | Acceso sin conexión | |
|---|---|---|
| Requiere un backend | ❌ | ✅ |
| Token de acceso persistente | ❌ | ✅ |
| Configuración fácil | ✅ | ❌ |
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 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
-
Su aplicación verificará periódicamente el calendario del usuario, incluso cuando no esté utilizando activamente la aplicación
En este caso, elija 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:
Puede encontrar el code para este ejemplo aquí
Como puede ver:
La idea es bastante sencilla. Envías una solicitud simple a GET y esta 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 https://www.googleapis.com/oauth2/v3/tokeninfo Google OAuth Playground mostrando información de respuesta de token con detalles del usuario
Si deseas llamar a Google __CAPGO_KEEP_0__’, te recomiendo fuertemente que mires a
If you do want to call Google API’s, I would strongly recommend looking at . Desde allí puedes ver fácilmente qué APIs puedes llamar.Usando acceso offline con tu propio backend
Sección titulada “Usando acceso offline con tu propio backend”
Para usar el acceso offline necesitarás lo siguiente:Usando acceso offline con tu propio backend
- Un servidor HTTP
En este ejemplo, utilizaré las siguientes tecnologías para proporcionar acceso en línea en mi aplicación:
-
LowDb Una base de datos simple
El 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()); }}Fíjate 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, la actualización ocurre después de que su servidor intercambia serverAuthCode y almacena el token de actualización de manera segura.
Sigue adelante desde Configuración de inicio de sesión de Google
Sección titulada “Sigue adelante desde 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 Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, Usando @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.