Configurazione di Google Login
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Introduzione
Sezione intitolata “Introduzione”In questo manuale, imparerai a configurare l'accesso con Google con Capgo Social Login. Per configurare l'accesso con Google, avrai bisogno dei seguenti elementi:
- 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
- Seleziona il progetto
- Se non hai già un progetto, per favore crea un nuovo progetto.
- Seleziona
New project
- Dai un nome al tuo progetto e seleziona
Create
- Assicurati di essere sul progetto giusto
- Seleziona
- Inizia a configurare il
OAuth consent screen-
Seleziona la barra di ricerca
-
Cerca e clicca su di essa
OAuth consent screenClicca su di essa
-
Configura lo schermo di consenso
Clicca su
create
-
- Inserisci le informazioni sulla tua app
-
Iniziamo con la sezione
App Information
- Per favore, inserisci il tuo
App Name - Inserisci il
user support email
-
Puoi CAN aggiungere il logo dell'app.
-
Tu DEVI configurare il
App domain
-
DEVI fornire l'indirizzo email del sviluppatore Sezione di informazioni di contatto per lo sviluppatore con campo email
-
Salva e continua
save and continue
- Per favore, inserisci il tuo
-
- Clicca su
-
Aggiungi o rimuovi gli ambiti
add or remove scopes
-
Seleziona i seguenti ambiti 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 accesso offline
Sottosezione intitolata “Differenze tra accesso online e accesso offline”Esistono 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 valido | ❌ | ✅ |
| Impostazione facile | ✅ | ❌ |
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à alcune API di Google dal backend, ma solo quando l'utente sta utilizzando l'app attivamente
Vuoi che l'utente si accedi, subito dopo ti troverai a rilasciare a lui un JWT personalizzato. La tua app NON chiamerà le API di Google
-
In questo caso scegli l'accesso online.
In questo caso, scegli l'accesso online
-
La tua app controlla periodicamente il calendario dell'utente, anche quando non sta utilizzando 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:
Puoi trovare il code per questo esempio qui
As potresti vedere:
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'email dell'utente. Inoltre, ti dà alcune altre informazioni 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 desideri effettivamente chiamare Google __CAPGO_KEEP_0__’, ti consiglio fortemente di guardare a
If you do want to call Google API’s, I would strongly recommend looking at . Dal lì puoi facilmente vedere quali API puoi chiamare.Utilizzare l'accesso offline con il tuo backend
Sottosezione intitolata “Utilizzare l'accesso offline con il tuo backend”
Using offline access with your own backendIn modo da poter utilizzare l'accesso offline avrai bisogno delle seguenti cose:
- Un server HTTP
In questo esempio, utilizzo le seguenti tecnologie per fornire l'accesso offline nell'applicazione:
-
LowDb (una semplice database)
Il code per questo esempio può essere trovato qui
In quanto per il client code, ha questo aspetto:
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'è 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
Sezione intitolata “Continua da Google Login Setup”Se stai utilizzando Google Login Setup per pianificare l'autenticazione e le flussi di account, connettilo con Utilizzando @capgo/capacitor-social-login per la capacità nativa in Utilizzando @capgo/capacitor-social-login, @capgo/capacitor-social-login per i dettagli di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-biometric-nativo per i dettagli di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.