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 marcado completa para este plugin.
Introduction
Section titled “Introduction”In this guide, you will learn how to setup Google Login with Capgo Social Login. You will need the following in order to setup Google Login:
- Una cuenta de Google
Una cuenta de Google
Configuración generalEn esta sección, configurarás la pantalla de inicio de sesión que se muestra por Google.
- Por favor, ve a console.cloud.google.com
- Haz clic en el selector de proyecto
- Si no tienes un proyecto creado aún, por favor crea un nuevo proyecto.
- Haz clic en
New project
- Nombra tu proyecto y haz clic
Create
- Asegúrate de estar en el proyecto correcto
- Haz clic en
- Comience a configurar el
OAuth consent screen-
Haga clic en la barra de búsqueda
-
Buscar por
OAuth consent screeny haga clic en él
-
Configure la pantalla de consentimiento
Haga clic en
create
-
- Rellene la información sobre su aplicación
-
Comencemos con el
App Information
- Por favor, ingresa tus
App Name - Nota
user support email
-
Tú puedes agregar el logo de la aplicación.
-
Tú DEBERÍAS configura la
App domain
-
Tú Tener que proporcionar la dirección de correo electrónico del desarrollador
-
Haga clic en
save and continue
- Por favor, ingresa tus
-
- Configura los alcances
-
Haz clic en
add or remove scopes
-
Selecciona los siguientes alcances y haz clic
update
-
Haz clic
save and continue
-
- Agregar un usuario de prueba
- Haz clic en
add users
- Ingresa tu correo electrónico de Google, presiona enter y haz clic
add
- Haz clic
save and continue
- Haz clic en
- Haz clic
back to dashboard
- Presenta 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”Hay varias formas de utilizar el inicio de sesión de Google con Capacitor. A continuación, se muestra una tabla que resume las diferencias entre los dos.
| Acceso en línea | Acceso fuera de línea | |
|---|---|---|
| Requiere un backend | ❌ | ✅ |
| Token de acceso de larga duración | ❌ | ✅ |
| Easy setup | ✅ | ❌ |
Si todavía no sabes cuál elegir, considera los siguientes escenarios.
-
Quiere que el usuario inicie sesión, inmediatamente después de lo cual le emitirá un JWT personalizado. Su aplicación NO llamará a las API de Google
In este caso, elija acceso en línea.
-
Su aplicación llamará a algunas API de Google desde el cliente, pero nunca desde el servidor.
In este caso, elija acceso en línea.
-
Su aplicación llamará a algunas API de Google desde el servidor, pero solo cuando el usuario esté utilizando activamente la aplicación.
In este caso, elija acceso en línea.
-
Su aplicación verificará periódicamente el calendario del usuario, incluso cuando no esté utilizando activamente la aplicación.
In este caso, elija acceso en línea.
Un ejemplo de servidor para acceso en línea.
Sección titulada “Un ejemplo de servidor para acceso en línea”.En esta parte del tutorial, mostraré cómo validar al usuario en su servidor.
Este ejemplo será muy simple y se basará en las siguientes tecnologías:
Puedes encontrar el code para este ejemplo Aquí
Como puedes ver:
La idea es bastante sencilla. Envías una solicitud simple a GET solicitud a https://www.googleapis.com/oauth2/v3/tokeninfo and this returns you whether the token is valid or not and if it it is, it gives you the email of the user. It also gives you some other info about the user token
From there, you could issue the user with your own JWT or issue some sort of session cookie. The possibilities are endless, for the final auth implementation.
Si deseas llamar a Google API’, te recomiendo buscar Jardín de juego de OAuth 2.0 de GoogleDesde allí, puede ver fácilmente qué APIs puede llamar.
Usando acceso sin conexión con su propio backend
Sección titulada “Usando acceso sin conexión con su propio backend”Para utilizar el acceso sin conexión, necesitará lo siguiente:
- Un servidor HTTP
En este ejemplo, utilizaré las siguientes tecnologías para proporcionar el acceso sin conexión 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()); }}Nota lo que falta aquí: no hay SocialLogin.refresh() Actualiza en la aplicación. Eso es intencional. En modo offline de Google, se refresca después de que tu backend intercambia. serverAuthCode y almacena el token de actualización de manera segura.
Keep going from Google Login Setup
Siguiente paso desde la configuración de inicio de sesión de GoogleSi estás utilizando Configuración de inicio de sesión de Google para planificar la autenticación y los flujos de cuenta, conecte 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-secuencial para el detalle de implementación en @capgo/capacitor-clave-secuencial @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Dos factor de autenticación para el detalle de implementación en Dos factor de autenticación.