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 dossier de l'application d'exemple. Ce guide explique les concepts clés et comment l'utiliser. supabaseAuthUtils.ts Utilisation de l'assistant d'authentification

Section intitulée « Utilisation de l'assistant d'authentification »

L'

fonction gère l'ensemble du flux d'authentification : authenticateWithAppleSupabase Copier dans le presse-papier

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 (pas clientId nécessaire)
  2. Authentification native: Utilise le bouton Sign in with Apple natif d'Apple et le flux d'authentification
  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 la connexion Apple
  • Assurez-vous que votre ID de bundle correspond à ce qui est configuré dans le Portail du développeur Apple
  • 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 des développeurs Apple
  • 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 bien reçu d'Apple
  • Examinez le l'application d'exemple code en tant que référence

Continuez de la section Supabase Apple Login on iOS Setup

Si vous utilisez la section Supabase Apple Login on iOS Setup

pour planifier l'authentification et les flux de compte, connectez-l’avec En utilisant @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login pour la capacité native dans En utilisant @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login En utilisant @capgo/capacitor-social-login for the native capability in Using @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.