Configuration de connexion Google
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Introduction
Section intitulée « Introduction »Dans ce guide, vous apprendrez à configurer l'authentification Google avec Capgo Social Login. Vous aurez besoin des éléments suivants pour configurer l'authentification Google :
- Un compte Google
Configuration générale
Section intitulée « Configuration générale »Dans cette partie, vous configurerez l'écran de connexion affiché par Google.
- Veuillez vous rendre sur console.cloud.google.com
- Cliquez sur le sélecteur de projet
- Si vous n'avez pas encore de projet, veuillez créer un nouveau projet.
- Cliquez sur
New project
- Nommez votre projet et cliquez
Create
- Veuillez vous assurer d'être sur le bon projet
- Cliquez sur
- Commencez à configurer le
OAuth consent screen-
Cliquez sur la barre de recherche
-
Recherchez
OAuth consent screenet cliquez dessus
-
Configurez l'écran de consentement
Cliquez sur
create
-
- Remplissez les informations sur votre application
-
Commencez par la
App Information
- Veuillez saisir votre
App Name - Entrez le
user support email
-
You DOIT Ajoutez l'icône de l'application.
-
Vous DEVRIEZ configurez
App domain
-
DEVEZ DOIT fournir l'adresse e-mail du développeur
-
Cliquez sur
save and continue
- Veuillez saisir votre
-
- Configurez les autorisations
-
Cliquez sur
add or remove scopes
-
Sélectionnez les champs d'accès suivants et cliquez
update
-
Cliquez
save and continue
-
- Ajoutez un utilisateur de test
- Cliquez sur
add users
- Entrez votre adresse e-mail Google, appuyez sur Entrée, puis cliquez
add
- Cliquez
save and continue
- Cliquez sur
- Cliquez
back to dashboard
- Soumettre 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 | |
|---|---|---|
| Requiert un serveur backend | ❌ | ✅ |
| Jet d'accès longue durée | ❌ | ✅ |
| Easy setup | ✅ | ❌ |
Si vous ne savez toujours pas lequel choisir, veuillez considérer les scénarios suivants :
-
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 des appels à certaines API Google depuis le client, mais jamais depuis le serveur
Dans ce cas, choisissez l'accès en ligne
-
Votre application fera des appels à certaines API Google depuis le serveur, mais uniquement lorsque l'utilisateur utilise l'application
In ce cas, choisissez l'accès en ligne
-
Votre application vérifiera périodiquement l'agenda de l'utilisateur, même lorsqu'il n'utilise pas l'application.
In 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
As vous pouvez voir :
L'idée est plutôt simple. Vous envoyez une requête simple à GET demande à 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 vous souhaitez appeler Google API’, je vous recommande fortement de regarder Google OAuth 2.0 PlaygroundEn utilisant l'accès hors ligne avec votre propre backend
En utilisant l'accès hors ligne avec votre propre backend
En utilisant l'accès hors ligne avec votre propre backendPour utiliser l'accès hors ligne, vous aurez besoin des éléments suivants :
- Un serveur HTTP est nécessaire.
Dans cet exemple, je vais utiliser les technologies suivantes pour fournir l'accès hors ligne dans mon application :
-
Hono JWT une base de données simple
La code pour cet exemple peut être trouvée here
Ici vous pouvez trouver le code pour cet exemple :
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()); }}Notez ce qui manque ici : il n'y a pas SocialLogin.refresh() appel dans l'application. C'est intentionnel. En mode hors ligne Google, la mise à jour se produit après que votre serveur échange serverAuthCode et stocke le jeton de mise à jour de manière sécurisée.
Continuez de la section Google Login Setup
Titre de la section « Continuez de la section Google Login Setup »Si vous utilisez Configuration de connexion Google pour planifier l'authentification et les flux de compte, connectez-l’avec Utilisez @capgo/capacitor-social-login pour la capacité native dans Utilisez @capgo/capacitor-social-login, @capgo/capacitor-connexion-social pour les détails 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-biometrique 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.