Configuration de l'authentification Google
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Introduction
Section intitulée “Introduction”Dans ce guide, vous apprendrez à configurer l'authentification Google avec Capgo Authentification Sociale. Vous aurez besoin des éléments suivants pour configurer l'authentification Google :
- Un compte Google
Configuration générale
NoteVeuillez vous rendre sur
- console.cloud.google.com Cliquez sur le sélecteur de projet
- console.cloud.google.com
- Si vous n'avez pas encore de projet, veuillez créer un nouveau projet.
- Cliquez sur
New project
- Nommez votre projet et cliquez sur
Create
- Assurez-vous d'être sur le bon projet
- Cliquez sur
- Commencez à configurer le
OAuth consent screen-
Cliquez sur la barre de recherche
-
Recherchez et cliquez sur
OAuth consent screenet cliquez dessus
-
Configurez l'écran de consentement
Sélection du type d'utilisateur de l'écran de consentement OAuth avec les options Externe et Intérieur
create
-
- Commencez par là
-
Renseignez les informations sur votre application
App Information
- Veuillez saisir votre
App Name - Entrez le
user support email
-
Vous Pouvez ajoutez l'icône de l'application.
-
Vous DEVRIEZ configurer la
App domain
-
Vous DEVEZ fournir l'adresse e-mail du développeur
-
Cliquez sur
save and continue
- Veuillez saisir votre
-
- Configurer les scopes
-
Cliquez sur
add or remove scopes
-
Sélectionnez les scopes suivants et cliquez
update
-
Cliquez
save and continue
-
- Ajouter un utilisateur de test
- Cliquez sur
add users
- Entrer votre adresse email Google, cliquez sur Entrer, puis cliquez
add
- Cliquez
save and continue
- Cliquez sur
- Cliquez
back to dashboard
- Soumettez votre application pour la vérification
Différences entre l'accès en ligne et l'accès hors ligne
Section intitulée « Différences entre l'accès en ligne et l'accès hors ligne »Il existe plusieurs façons d'utiliser Google Login avec Capacitor. Voici une table qui résume les différences entre les deux :
| Accès en ligne | Accès hors ligne | |
|---|---|---|
| Exige un backend | ❌ | ✅ |
| Long-lived access token | ❌ | ✅ |
| Configuration facile | ✅ | ❌ |
Vous voulez que l'utilisateur se connecte, immédiatement après vous allez lui émettre un JWT personnalisé. Votre application ne fera PAS d'appels aux API Google
-
Dans ce cas, choisissez l'accès en ligne.
Votre application fera appel à certaines API Google depuis le client, mais jamais depuis le serveur
-
Dans ce cas, choisissez l'accès en ligne
Votre application fera appel à certaines API Google depuis le serveur, mais uniquement lorsque l'utilisateur utilise l'application activement
-
Dans ce cas, choisissez l'accès en ligne
Vous voulez que l'utilisateur se connecte, immédiatement après vous allez lui émettre un JWT personnalisé. Votre application fera appel à certaines API Google depuis le client, mais jamais depuis le serveur
-
Votre application vérifiera périodiquement le calendrier de l'utilisateur, même lorsqu'il n'utilise pas l'application
Dans ce cas, choisissez l'accès hors ligne
Un exemple de backend pour l'accès en ligne
Section intitulée « Un exemple de backend pour l'accès en ligne »Dans cette partie du tutoriel, je vais montrer comment valider l'utilisateur sur votre backend.
Cet exemple sera très simple et il sera basé sur les technologies suivantes :
Vous pouvez trouver le code pour cet exemple ici
Comme vous pouvez le voir :
L'idée est plutôt simple. Vous envoyez une requête simple à GET et cela vous retourne si le jeton est valide ou non et si c'est le cas, il vous donne l'adresse e-mail de l'utilisateur. Il vous donne également quelques autres informations sur le jeton de l'utilisateur https://www.googleapis.com/oauth2/v3/tokeninfo Google OAuth Playground montrant les informations de réponse du jeton avec les détails de l'utilisateur
Si vous voulez appeler Google __CAPGO_KEEP_0__’, je vous recommande fortement de regarder
If you do want to call Google API’s, I would strongly recommend looking at . À partir de là, vous pouvez facilement voir quels APIs vous pouvez appeler.Utilisation de l'accès hors ligne avec votre propre backend
Section intitulée “Utilisation de l'accès hors ligne avec votre propre backend”
Pour utiliser l'accès hors ligne, vous aurez besoin des éléments suivants:Google OAuth 2.0 Playground
- Un serveur HTTP
Dans cet exemple, j'utiliserai les technologies suivantes pour fournir l'accès hors ligne dans mon application :
-
LowDb (une base de données simple)
Le code pour cet exemple peut être trouvé ici
En ce qui concerne le client code, il ressemble à ceci :
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()); }}Attention à ce qui manque ici : il n'y a pas SocialLogin.refresh() appel dans l'application. C'est intentionnel. En mode hors ligne de Google, la mise à jour se produit après que votre serveur échange serverAuthCode et stocke le jeton de renouvellement de manière sécurisée.
Continuez de la section Google Login Setup
Section intitulée “Continuez de la section Google Login Setup”Si vous utilisez Google Login Setup pour planifier l'authentification et les flux de compte, connectez-le avec Utilisation de @capgo/capacitor-social-login pour la capacité native dans Utilisation de @capgo/capacitor-social-login, @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login, @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.