Google Login sur iOS
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Introduction
Section intitulée « Introduction »Dans ce guide, vous apprendrez à configurer Google Login avec Capgo Social Login pour iOS. Je pars du principe que vous avez déjà lu le guide de configuration générale.
Utiliser la connexion Google sur iOS
section intitulée « Using Google login on iOS »Dans cette partie, vous apprendrez à configurer la connexion Google sur iOS.
-
Créez un client ID iOS dans la console Google
-
Cliquez sur la barre de recherche
-
Recherchez
credentialset cliquez surAPIs and Servicescelui-ci (numéro 2 sur la capture d'écran)
-
Cliquez sur
create credentials
-
Sélectionnez
OAuth client ID
-
Sélectionnez l’
Application typeversiOS
-
Trouvez le bundle ID
-
Ouvrez Xcode
-
Double-cliquez sur
App
-
Assurez-vous d'être dans la
Targets -> App
-
Trouvez votre
Bundle Identifier
-
Retournez sur la console Google et collez votre
Bundle IdentifierenBundle ID
-
-
Optionnellement, ajoutez votre
App Store IDouTeam IDdans le client ID si vous avez publié votre app sur l'App Store -
Après avoir rempli tous les détails, cliquez sur le
create
-
Cliquez
OK
-
Ouvrez le client iOS nouvellement créé
-
Copiez les données suivantes
-
-
Modifiez le fichier Info.plist de votre app
-
Ouvrez Xcode et trouvez le
Info.plistfichier
-
Faites un clic droit sur ce fichier et ouvrez-l’en tant que source code
-
En bas de votre
Plistfichier, vous verrez une</dict>balise
-
Insérez le fragment suivant juste avant la balise de fermeture
</dict>balise
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Modifiez le
YOUR_DOT_REVERSED_IOS_CLIENT_IDà la valeur copiée à l'étape précédente
-
Enregistrez le fichier avec
Command + S
-
-
Modifiez le
AppDelegate.swift-
Ouvrez l'AppDelegate
-
Insérez
import GoogleSignInen haut du fichier
-
Trouvez le
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])fonction
-
Modifiez la fonction pour qu'elle ressemble à ceci
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {// Called when the app was launched with a url. Feel free to add additional processing here,// but if you want the App API to support tracking app url opens, make sure to keep this callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
Enregistrez le fichier avec
Command + S
-
-
Configurez la connexion Google dans votre code JavaScript/TypeScript
-
Importer
SocialLoginetCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Appelez la méthode initialize (à n'appeler qu'une seule fois)
Configuration de base (mode en ligne - recommandé pour la plupart des apps) :
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Configuration avancée avec des client IDs supplémentaires :
onMounted(() => {SocialLogin.initialize({google: {webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform supportiOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced featuresmode: 'online' // 'online' or 'offline'}})}) -
Implémentez la fonction de connexion. Créez un bouton et exécutez le code suivant au clic
Pour le mode en ligne :
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Pour le mode hors ligne :
const res = await SocialLogin.login({provider: 'google',options: {forceRefreshToken: true // Recommended for offline mode}})// res contains serverAuthCode, not user data// Send serverAuthCode to your backend to get user information// Do not call SocialLogin.refresh() in offline modeconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Testez votre application
-
Compilez votre app et lancez-la
cap sync -
Si tout est correctement configuré, le flux de connexion Google devrait fonctionner normalement
-
Problèmes connus
Section intitulée « Problèmes connus »Incompatibilité avec le plugin Privacy Screen
Section intitulée « Incompatibilité avec le plugin Privacy Screen »Le plugin Google Login est incompatible avec @capacitor/privacy-screen. Lorsque vous utilisez les deux plugins ensemble, la webview de la connexion Google sera interrompue par l'écran de confidentialité.
Workaround: Appelez await PrivacyScreen.disable(); avant d'appeler la fonction de connexion :
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});Continuer la connexion Google sur iOS
Section intitulée « Continuer la connexion Google sur iOS »Si vous utilisez Google Login sur iOS pour planifier les flux d'authentification et de compte, le connecter à Utiliser @capgo/capacitor-social-login pour la capacité native dans Utiliser @capgo/capacitor-social-login @capgo/capacitor-social-login 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-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation de l'authentification à deux facteurs.