Passer au contenu

Supabase Apple Connexion lors de la configuration de iOS

Ce guide vous aidera à intégrer la connexion Apple avec l’authentification Supabase sur iOS. On suppose que vous avez déjà complété :

L’implémentation complète est disponible dans le fichier supabaseAuthUtils.ts de l’application exemple. Ce guide explique les concepts clés et comment l’utiliser.

Utilisation de l’assistant d’authentification

Section titled “Utilisation de l’assistant d’authentification”

La fonction authenticateWithAppleSupabase gère l’intégralité 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);
}

Le iOS, Apple Sign-In utilise l’implémentation native :

  1. Initialisation : le plugin utilise automatiquement l’ID de bundle de votre application (aucun clientId nécessaire)
  2. Connexion native : utilise la connexion native de Apple avec le bouton Apple et le flux d’authentification
  3. Jeton d’identité : Apple renvoie un jeton d’identité (JWT) contenant les informations utilisateur
  4. Supabase Authentification : le jeton d’identité est envoyé à Supabase à l’aide de signInWithIdToken()

La fonction d’assistance détecte automatiquement la plate-forme iOS et configure tout de manière appropriée.

  • iOS utilise automatiquement l’ID de bundle de votre application pour la connexion Apple
  • Assurez-vous que l’ID de votre bundle correspond à ce qui est configuré dans le portail des développeurs Apple.
  • L’ID du bundle doit avoir la fonctionnalité “Connectez-vous avec Apple” activée.

Dans Supabase, configurez votre fournisseur Apple avec :

  • ID client : votre identifiant 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 :

  • Incompatibilité d’ID de bundle : vérifiez que l’ID de votre bundle correspond à la fois dans le portail des développeurs Xcode et Apple.
  • Fonctionnalité non activée : assurez-vous que la fonctionnalité « Connexion avec Apple » est activée dans Xcode.
  • Configuration Supabase : vérifiez que votre ID d’application est correctement configuré dans les paramètres du fournisseur Supabase Apple
  • La validation du jeton échoue : vérifiez que le jeton d’identité est reçu de Apple
  • Consultez l’exemple de code d’application pour référence.