Passer à la navigation

Supabase Apple Login sur l'installation iOS

GitHub

Ce guide vous aidera à intégrer Apple Sign-In avec l'authentification Supabase sur iOS. Il est supposé que vous avez déjà réalisé :

La mise en œuvre complète est disponible dans le fichier de l'application d'exemple. supabaseAuthUtils.ts Ce guide explique les concepts clés et comment l'utiliser.

Le authenticateWithAppleSupabase Cette fonction gère l'ensemble du flux d'authentification :

import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

Sur iOS, Apple Sign-In utilise l'implémentation native :

  1. Initialisation: La plugin utilise automatiquement l'ID de votre application (pas clientId nécessaire)
  2. Signe d'Apple natif: Utilise le bouton de connexion et le flux d'authentification Sign in avec Apple de Apple
  3. Jeton d'Identité: Apple retourne un jeton d'identité (JWT) contenant des informations sur l'utilisateur
  4. Authentification Supabase: Le jeton d'identité est envoyé à Supabase à l'aide de signInWithIdToken()

La fonctionnalité de l'assistant détecte automatiquement la plateforme iOS et configure tout en conséquence.

  • L'iOS utilise automatiquement l'ID de l'application de votre application pour la connexion Apple
  • Assurez-vous que votre ID de l'application correspond à ce qui est configuré dans le Portail du développeur Apple
  • L'ID de l'application doit avoir la capacité « Sign in with Apple » activée

Dans Supabase, configurez votre fournisseur Apple avec :

  • Identifiant du client : Votre ID d'application iOS (identifiant de bundle) - par exemple, app.capgo.plugin.SocialLogin

Si vous utilisez également Android/Web, vous devrez fournir à la fois l'ID d'application et l'ID de service dans le champ Identifiant du client de Supabase (séparés par des virgules).

Si l'authentification échoue :

  • Mauvais identifiant de bundle : Vérifiez que votre identifiant de bundle correspond dans à la fois Xcode et le Portail des développeurs Apple
  • Capacité non activée: Assurez la capacité "Se connecter avec Apple" est activée dans Xcode
  • Configuration de Supabase: Vérifiez que votre ID d'application est correctement configuré dans les paramètres de fournisseur Apple de Supabase
  • La validation du jeton échoue: Vérifiez que le jeton d'identité est reçu de la part d'Apple
  • Révisez le exemple d'application code en référence

Si vous utilisez Supabase Apple Login on iOS 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 le détail d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-native-biometric pour le détail d'implémentation dans @capgo/capacitor-native-biometric, et L'authentification à deux facteurs pour le détail d'implémentation dans L'authentification à deux facteurs.