Impostazione di accesso Google
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Introduzione
Sezione intitolata “Introduzione”In questo manuale, imparerai a configurare l'accesso Google con Capgo Social Login. Per configurare l'accesso Google avrai bisogno delle seguenti informazioni:
- Un account Google
Configurazione generale
Sezione intitolata “Configurazione generale”In questa parte, configurerai lo schermo di accesso visualizzato da Google.
- Per favore vai a console.cloud.google.com
- Clicca sul selettore del progetto
- Se non hai già un progetto, per favore crea un nuovo progetto.
- Clicca sul
New project
- Nomi il tuo progetto e clicca
Create
- Assicurati di essere sul progetto giusto
- Clicca sul
- Inizia a configurare il
OAuth consent screen-
Clicca sulla barra di ricerca
-
Cerca
OAuth consent screenE clicca su di essa
-
Configura lo schermo di consenso
Scegli il tipo di utente OAuth con le opzioni Esterno e Interno
create
-
- Compilare le informazioni relative all'app
-
Iniziare con la sezione
App Information
- Inserisci il tuo
App Name - Inserisci il
user support email
-
Voi CAN aggiungere il logo dell'applicazione.
-
DEVI configurare la Configurazione del dominio dell'applicazione con campo dominio autorizzato
App domain
-
context: you_definition, Page/area: Sito web di marketing Capgo. Ruolo: Lungo paragrafo di marketing o legale. Visto in: pagina disclaimer.astro, pagina return.astro. Chiave di messaggio you_definition (You Definition). DEVE fornire l'indirizzo email del sviluppatore
-
Clicca su
save and continue
- Inserisci il tuo
-
- Configura gli ambiti
-
Clicca su
add or remove scopes
-
Seleziona le seguenti autorizzazioni e clicca
update
-
Clicca
save and continue
-
- Aggiungi un utente di test
- Clicca su
add users
- Inserisci la tua email Google, clicca invio e clicca
add
- Clicca
save and continue
- Clicca su
- Clicca
back to dashboard
- Invia la tua app per la verifica
Differenze tra accesso online e offline
Sezione intitolata “Differenze tra accesso online e offline”Ci sono diverse modalità per utilizzare Google Login con Capacitor. Ecco una tabella che riassume le differenze tra le due:
| Accesso online | Accesso offline | |
|---|---|---|
| Richiede un backend | ❌ | ✅ |
| Token di accesso a lungo termine | ❌ | ✅ |
| Configurazione facile | ✅ | ❌ |
Se non sai ancora quale scegliere, considera i seguenti scenari:
-
Vuoi che l'utente si accedi, subito dopo ti occorre emettere un JWT personalizzato. La tua app NON chiamerà le API di Google
In questo caso scegli l'accesso online.
-
La tua app chiamerà alcune API di Google dal client, ma mai dal backend
In questo caso scegli l'accesso online
-
La tua app chiamerà alcuni API di Google dal backend, ma solo quando l'utente sta utilizzando attivamente l'app
In questo caso, scegli l'accesso online
-
La tua app controlla periodicamente il calendario dell'utente, anche quando non sta utilizzando attivamente l'app
In questo caso, scegli l'accesso offline
Esempio di backend per l'accesso online
Sezione intitolata “Esempio di backend per l'accesso online”In questa parte del tutorial, mostrerò come validare l'utente sul tuo backend.
Questo esempio sarà molto semplice e si baserà sulle seguenti tecnologie:
Potrai trovare il code per questo esempio qui
Ecco cosa vedete:
L'idea è piuttosto semplice. Inviare una richiesta semplice a GET e questo ti restituisce se il token è valido o no e se lo è, ti dà l'indirizzo email dell'utente. Inoltre, ti dà alcune informazioni aggiuntive sul token dell'utente https://www.googleapis.com/oauth2/v3/tokeninfo Google OAuth Playground mostrando informazioni di risposta del token con dettagli dell'utente
Se desiderate effettuare una chiamata a Google __CAPGO_KEEP_0__’, vi consiglio vivamente di consultare
If you do want to call Google API’s, I would strongly recommend looking at . Da lì potrete facilmente vedere quali API potete chiamare.Utilizzare l'accesso offline con il tuo backend
Utilizzare l'accesso offline con il tuo backend
Sezione intitolata “L'uso dell'accesso offline con il tuo backend”Per utilizzare l'accesso offline avrai bisogno delle seguenti cose:
- Un server HTTP
In questo esempio, utilizzerò le seguenti tecnologie per fornire l'accesso offline nell'applicazione:
-
LowDb (una semplice database)
Il code per questo esempio può essere trovato qui
As per il client code, sembra questo:
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 cosa manca qui: non c'è alcun SocialLogin.refresh() chiamata nell'app. Questo è intenzionale. In modalità offline di Google, il refresh avviene dopo che il tuo backend scambia serverAuthCode e memorizza il token di refresh in modo sicuro.
Continua da Google Login Setup
Sottosezione intitolata “Continua da Google Login Setup”Se stai utilizzando Google Login Setup per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-social-login per la capacità nativa in Utilizza @capgo/capacitor-social-login, @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric for the implementation detail in @capgo/capacitor-native-biometric, and Due fattori di autenticazione per i dettagli di implementazione in Due fattori di autenticazione.