Configuración de inicio de sesión de Google
Copia 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ás a configurar el inicio de sesión con Google en Capgo Social Login. Necesitarás lo siguiente para configurar el inicio de sesión con Google:
- Una 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 muestra Google.
- Por favor, ve a console.cloud.google.com
- Haga clic en el selector de proyecto
- Si no tiene un proyecto ya creado, por favor crear un nuevo proyecto.
- Haga clic en
New project
- Denomine su proyecto y haga clic
Create
- Asegúrese de estar en el proyecto correcto
- Haga clic en
- Comience a configurar el
OAuth consent screen-
Haz clic en la barra de búsqueda
-
Buscar por
OAuth consent screeny haz clic en ella
-
Configura la pantalla de consentimiento
Selección del tipo de usuario de pantalla de consentimiento de OAuth con opciones de externo e interno
create
-
- Rellene la información sobre su aplicación
-
Comencemos con la sección de información de la aplicación que muestra el nombre de la aplicación y el campo de correo electrónico de soporte del usuario
App Information
- Advertencia
App Name - Noticia
user support email
-
Usted CAN agregar el logo de la aplicación.
-
DEBERÍA configurar el Configuración de dominio de la aplicación con el campo de dominios autorizados
App domain
-
DEBES proporcionar la dirección de correo electrónico del desarrollador Sección de información de contacto del desarrollador con campo de correo electrónico
-
Guardar y Continuar
save and continue
- Advertencia
-
- Haga clic en
-
Configura los alcances
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
- Introduzca su correo electrónico de Google, haga clic en Intro y haga clic
add
- Haga clic
save and continue
- Haga clic en
- Haz clic
back to dashboard
- Envía tu aplicación para su 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”Existen 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 en modo offline | |
|---|---|---|
| Requiere un servidor 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 servidor
-
En este caso, elige acceso en línea
Si tu aplicación necesita llamar a Google APIs tanto desde el cliente como desde el servidor, elige acceso en línea.
-
Su 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, elija el acceso en línea
-
Su aplicación verificará periódicamente el calendario del usuario, incluso cuando él 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
Título de la sección “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 puedes 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 llamarUsando el acceso sin conexión con tu propio backend
Using offline access with your own backend
Sección titulada “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)
El code para este ejemplo se puede encontrar aquí
As for the client code, it looks like this:
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é 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-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-social-login, @capgo/capacitor-passkey para los detalles de implementación en @capgo/capacitor-passkey, @capgo/capacitor-native-biometric para los detalles de implementación en @capgo/capacitor-native-biometric, y Autenticación en dos factores para los detalles de implementación en Autenticación en dos factores.