Passer au contenu

Configuration de Supabase Apple Login sur 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 Cette guide explique les concepts clés et comment l'utiliser.

Utilisation de l'assistant d'authentification

Sous-titre « Utilisation de l'assistant d'authentification »

La authenticateWithAppleSupabase 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: Le plugin utilise automatiquement l'ID de votre application (aucun clientId nécessaire)
  2. Authentification native: Utilise le bouton d'authentification native Sign in with Apple et le flux d'authentification d'Apple
  3. Jeton d'identité: Apple retourne un jeton d'identité (JWT) contenant les informations de l'utilisateur
  4. Authentification Supabase: Le jeton d'identité est envoyé à Supabase en utilisant signInWithIdToken()

La fonction d'aide détecte automatiquement la plateforme iOS et configure tout en conséquence.

  • L'iOS utilise automatiquement l'ID de bundle de votre application pour Apple Sign-In
  • Vérifiez que votre ID de bundle correspond à ce qui est configuré dans le Portail Apple Developer
  • L'ID de bundle doit avoir la capacité « Sign in with Apple » activée

Dans Supabase, configurez votre fournisseur Apple avec :

  • ID du client: Votre ID d'application iOS (ID 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 ID client de Supabase (séparés par des virgules).

Si l'authentification échoue :

  • Erreur de correspondance de l'ID de bundle: Vérifiez que votre ID de bundle correspond dans Xcode et dans le Portail Apple Developer
  • Capacité non activée: Assurez-vous que la capacité « Sign in with 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
  • Échec de la validation du jeton: Vérifiez que le jeton d'identité est reçu de Apple
  • Review the l'application d'exemple code en référence

Continuez de la configuration de Supabase Apple Login sur iOS

Titre de la section « Continuez de la configuration de Supabase Apple Login sur iOS »

Si vous utilisez la configuration de Supabase Apple Login sur iOS pour planifier l'authentification et les flux de compte, connectez-l’avec En utilisant @capgo/capacitor-social-login pour la capacité native dans En utilisant @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 dans Authentification à deux facteurs.