Configurer l'authentification dans les applications mobiles peut être complexe, mais la combinaison Supabase avec Capgo Social Login plugin makes it straightforward. This tutorial will guide you through integrating social authentication (Google, Apple, Facebook) with Supabase in your Capacitor app.
rend cela simple. Ce tutoriel vous guidera à travers l'intégration de l'authentification sociale (Google, Apple, Facebook) avec Supabase dans votre
application. Pourquoi Utiliser Supabase avec l'Inscription Sociale ? @capgo/capacitor-social-login fournit un backend robuste en tant que service avec une authentification intégrée, tandis que @capgo/capacitor-supabase plugin offre une inscription sociale native sur les plateformes iOS, Android et web. Pour une intégration Supabase plus serrée,
- Authentification sociale sans heurts
- Gestion sécurisée de jetons
- Compatibilité multiplateforme
- Intégration de base de données en temps réel
- Gestion des utilisateurs intégrée
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un projet Capacitor configuré
- Un compte et un projet Supabase
- Des comptes développeurs pour vos fournisseurs sociaux choisis (Google, Apple, Facebook)
Étape 1 : Installation et configuration du plugin de connexion sociale
Tout d'abord, installez le plugin Capgo de connexion sociale :
npm install @capgo/capacitor-social-login
npx cap sync
Voir les Authentification sociale et pages de plugin Supabase pour la configuration spécifique à la plateforme. Étape 2 : Configuration du projet Supabase
Créez et configurez votre projet Supabase
Créez un projet Supabase
-
Allez sur:
- supabase.com et vous inscrire/ vous connecter Cliquez
- sur “Nouveau Projet”
- Choisissez votre organisation
- Entrez un Nom de projet (par exemple, « MonApp Auth »)
- Définissez un Mot de passe de base de données (sauvez-l’en toute sécurité)
- Sélectionnez votre Région (choisissez celle la plus proche de vos utilisateurs)
- Cliquez “Créez un nouveau projet”
-
Obtenez vos informations de projet:
- Une fois créé, allez à Paramètres > API
- Copiez votre URL de projet Par exemple,
https://your-project-ref.supabase.co) - Copiez votre clé publique anonyme API
- Enregistrez-les pour une utilisation ultérieure dans votre application
Configurez les paramètres d'authentification
-
Paramètres d'authentification généraux:
- Allez à Authentification > Paramètres
- Sous Paramètres généraux:
- Fixez L'URL du site à l'URL de votre application (par exemple,
https://yourdomain.comouhttp://localhost:3000context : Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `alternatives_cta_questions`). Page/zone : Page de comparaison des alternatives de mise à jour en direct de Capacitor. Rôle : Paragraphe marketing ou juridique long. Vu dans : page alternatives.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `alternatives_cta_questions` (Questions de CTA Alternatives). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `appflow_cta_questions`). Page/zone : Comparaison/migration de Appflow. Rôle : Paragraphe marketing ou juridique long. Vu dans : page ionic-appflow.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `appflow_cta_questions` (Questions de CTA Appflow). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `capwesome_cta_questions`). Page/zone : Page de comparaison de Capawesome. Rôle : Paragraphe marketing ou juridique long. Vu dans : page capwesome.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `capwesome_cta_questions` (Questions de CTA Capwesome). | Fragment de texte HTML d'une chaîne de dialogue Capgo plus longue (clé parente `consulting_faq_subtitle`). Page/zone : Page de services de consultation. Rôle : Sous-titre ou tagline de section. Vu dans : page consulting.astro. Conservez les termes de produit et de marque Capgo ainsi que les termes de développeur exactement. Clé de message `consulting_faq_subtitle` (Sous-titre FAQ de consultation). | Page/zone : Comparaison/migration de Appflow. Rôle : Étiquette de navigation ou élément de navigation court. Vu dans : page ionic-appflow.astro, page ionic-enterprise-plugins.astro, page solutions/ionic-enterprise-plugins.astro. Clé de message `appflow_plugins_or` (Appflow Plugins ou). - pour le développement) Ajoutez des URL de redirection supplémentaires si nécessaire :
http://localhost:3000 https://yourdomain.com capacitor://localhost (for mobile apps)
- Fixez L'URL du site à l'URL de votre application (par exemple,
-
Configurez les paramètres de messagerie (facultatif mais recommandé) :
- Sous Paramètres SMTP, configurez votre fournisseur de messagerie
- Cela active les confirmations par messagerie et les réinitialisations de mot de passe
- Pour le développement, vous pouvez utiliser le service de messagerie intégré
Activer les fournisseurs d'authentification sociale
- Accédez à la section fournisseurs:
- Allez à Authentification > Fournisseurs dans votre tableau de bord Supabase
- Vous verrez une liste des fournisseurs sociaux disponibles
- Chaque fournisseur a un Enable un bouton d'activation et des options de configuration
Maintenant, configurons chaque fournisseur social en détail :
Étape 3 : Configurer les fournisseurs sociaux dans Supabase
Configuration de l'authentification Google dans Supabase
Tout d'abord, obtenez vos clés OAuth Google :
Suivez notre guide détaillé de configuration Google : Configuration de l'authentification Google
Ce guide couvre :
- Créer un projet Google Cloud
- Configurer les informations d'identification OAuth 2.0 pour web, iOS et Android
- Configurer l'écran de consentement
- Obtenir les identifiants et les secrets Client requis
Après avoir terminé la configuration de Google, configurez-le dans Supabase :
- Activer le fournisseur Google dans Supabase:
- Dans votre tableau de bord Supabase, allez à Authentification > Fournisseurs
- Trouvez Google et activez-le EN
- Remplissez les paramètres :
- ID client: Votre Google OAuth Web ID client (à partir du console Google Cloud)
- ID secret: Votre Google OAuth Web ID secret
- URL de redirection:
https://your-project-ref.supabase.co/auth/v1/callback(remplie automatiquement)
- Cliquez “Sauvegarde”
Important: Utilisez le Web Client ID et Web Client Secret dans Supabase, même si vous construisez une application mobile. Les identifiants de client mobile sont utilisés séparément dans la configuration du plugin.
Configuration de l'authentification Apple dans Supabase
Obtenez les informations d'identification Apple :
Suivez notre guide détaillé de configuration Apple : Configuration de l'authentification Apple
Cet article couvre :
- Configuration de votre compte développeur Apple
- Création des identifiants App et Service
- Configuration de la capacité de connexion avec Apple
- Génération des clés privées requises
- Configuration spécifique à la plateforme pour iOS, Android et Web
Après avoir terminé la configuration Apple, configurez-la dans Supabase :
- Activer le fournisseur Apple dans Supabase:
- Allez à Authentification > Fournisseurs et activez Apple SUR
- Remplissez la configuration :
- ID du client: Votre identifiant de Service ID (par exemple,
com.yourapp.signin) - Secret du client: Générez ce JWT à l'aide de votre clé privée Apple (voir docs Apple de Supabase pour le format JWT)
- URL de redirection:
https://your-project-ref.supabase.co/auth/v1/callback(remplie automatiquement)
- ID du client: Votre identifiant de Service ID (par exemple,
- Cliquez “Sauvegarder”
Note: La configuration d'authentification Apple est la plus complexe en raison des exigences d'Apple pour les identifiants de service, les clés privées et la génération de JWT. Suivez notre documentation soigneusement pour chaque plateforme.
Configuration de l'authentification Facebook dans Supabase
Obtenez vos informations de connexion Facebook :
Suivez notre guide de configuration Facebook complet : Configuration de l'authentification Facebook
Ce guide couvre :
- Création d'un compte développeur Facebook et d'une application
- Ajout du produit de connexion Facebook
- Configuration des URIs de redirection OAuth
- Obtention de votre ID d'application, de votre secret d'application et de votre jeton client
- Configuration spécifique à la plateforme pour iOS et Android
Après avoir terminé la configuration Facebook, configurez-la dans Supabase :
- Activer le fournisseur Facebook dans Supabase:
- Allez à Authentification > Fournisseurs et déplacez le curseur Facebook ACTIVER
- Remplissez les informations de configuration :
- ID du client : Votre ID d'application Facebook
- Secret du client : Votre secret d'application Facebook
- URL de redirection:
https://your-project-ref.supabase.co/auth/v1/callback(rempli automatiquement)
- Cliquez “Sauvegarder”
ImportantIl est essentiel de rajouter l'URL de rappel de Supabase (https://your-project-ref.supabase.co/auth/v1/callback) dans les paramètres de l'application Facebook, dans la section Valid OAuth Redirect URIs Paramètres importants de configuration de Supabase
Niveau de sécurité par ligne (RLS) :
Après avoir configuré l'authentification, activez le RLS sur vos tables
- Allez à
- Paramètres de Facebook Login Base de données > Tables et activer Activer la RLS pour chaque table
- Créer des politiques pour contrôler l'accès aux données en fonction des utilisateurs authentifiés
Gestion des utilisateurs :
- Afficher les utilisateurs authentifiés dans Authentification > Utilisateurs
- Surveiller les événements d'authentification dans Authentification > Journal
- Configurer les modèles de courriel dans Authentification > Modèles de courriel
Configuration de test :
- Utilisez l'outil de test d'authentification intégré de Supabase
- Allez à Utilisateurs > Authentification et cliquez sur « Inviter un utilisateur » pour tester les flux par e-mail
- Vérifiez la section des journaux context : Page/zone : Capgo Builder / page de produit de build cloud natif. Rôle : Étiquette de navigation ou élément UI court. Vu dans : page native-build.astro. Message clé `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl).
section pour tout erreur d'authentification
Étape 4 : Configurez le plugin de connexion sociale : Supabase configuré, vous devez configurer le plugin de connexion sociale avec les informations correspondantes. Important: Le plugin nécessite les informations d'authentification OAuth provenant des fournisseurs originaux (pas de Supabase), tandis que Supabase gère l'authentification côté serveur. How the Authentication Flow Works
Avant de plonger dans la configuration, comprenez le flux :
Le plugin s'authentifie
- avec le fournisseur social (Google/Apple/Facebook) nativement Le plugin reçoit les jetons
- (jeton d'accès, jeton d'identité) du fournisseur Votre application envoie ces jetons
- à Supabase à l'aide de __CAPGO_KEEP_0__
signInWithIdToken() - Supabase valide les jetons avec le fournisseur et crée une session d'utilisateur
- Supabase retourne son propre jeton JWT pour les requêtes authentifiées de votre application
Configuration du plugin Google
Le plugin nécessite votre ID de client Web pour tous les plateformes et optionnellement un ID de client iOS pour les fonctionnalités spécifiques à iOS :
import { SocialLogin } from '@capgo/capacitor-social-login';
await SocialLogin.initialize({
google: {
// Use the same Web Client ID you configured in Supabase
webClientId: 'YOUR_WEB_CLIENT_ID.apps.googleusercontent.com',
// Optional: iOS Client ID for iOS-specific features
iOSClientId: 'YOUR_IOS_CLIENT_ID.apps.googleusercontent.com',
// Optional: Request offline access for refresh tokens
mode: 'offline'
}
});
Points clés pour Google :
- Utilisez le ID du client Web (pas les identifiants Android/iOS) pour le
webClientIdchamp - Le plugin fonctionnera sur tous les plateformes avec uniquement l'ID du client Web
- Le
iOSClientIdest optionnel et n'est utilisé que pour les fonctionnalités Google spécifiques iOS
Configuration du plugin Apple
La configuration Apple diffère entre iOS et Android :
Pour iOS (authentification native Apple):
await SocialLogin.initialize({
apple: {
// No additional configuration needed for iOS
// The plugin uses the native Apple Sign-In capability
}
});
Pour Android/Web (nécessite l'ID de service :)
await SocialLogin.initialize({
apple: {
clientId: 'YOUR_SERVICE_ID', // The Service ID from Apple Developer Portal
redirectUrl: 'https://your-project-ref.supabase.co/auth/v1/callback'
}
});
Points clés pour Apple :
- iOS utilise Sign in with Apple natif (aucune configuration supplémentaire nécessaire)
- Android/Web nécessite l'ID de service que vous avez créé dans le Portail des développeurs Apple
- Le
redirectUrldevrait correspondre à ce que vous avez configuré dans le Portail des développeurs Apple et Supabase
Configuration du plugin Facebook
Le Facebook nécessite votre ID d'application et votre jeton client :
await SocialLogin.initialize({
facebook: {
appId: 'YOUR_FACEBOOK_APP_ID', // From Facebook Developer Dashboard
clientToken: 'YOUR_FACEBOOK_CLIENT_TOKEN', // From Facebook Developer Dashboard
// Optional: Use Facebook Limited Login (for enhanced privacy)
limitedLogin: false // See our Facebook setup guide for important Limited Login details
}
});
Points clés pour Facebook :
- Utilisez le même ID d'application que vous avez configuré dans Supabase
- Le jeton client se trouve dans les Paramètres de base de votre application Facebook
limitedLogin: trueactive le mode de connexion limité du Facebook, privilégiant la vie privée (disponible uniquement sur iOS)- Important: Voir notre guide de configuration Facebook pour des informations détaillées sur l'authentification limitée, y compris les considérations ATT
Initialisation complète du plugin
Ici, voici comment initialiser tous les fournisseurs ensemble :
import { SocialLogin } from '@capgo/capacitor-social-login';
export async function initializeSocialLogin() {
await SocialLogin.initialize({
google: {
webClientId: 'YOUR_WEB_CLIENT_ID.apps.googleusercontent.com',
mode: 'offline'
},
facebook: {
appId: 'YOUR_FACEBOOK_APP_ID',
clientToken: 'YOUR_FACEBOOK_CLIENT_TOKEN',
},
apple: {
// iOS: no config needed
// Android/Web: uncomment the lines below
// clientId: 'YOUR_SERVICE_ID',
// redirectUrl: 'https://your-project-ref.supabase.co/auth/v1/callback'
}
});
}
Notes importantes :
- Appelez
initialize()context : texte fragment HTML d'une chaîne de Capgo UI (clé parent `appflow_migration_step2`). Page/zone : Comparaison / migration de marketing de Capflow. Rôle : Copie de site. Vu dans : page ionic-appflow.astro. Conservez exactement les termes de produit/marque et les termes de développeur de Capgo. une fois - lorsque votre application démarre, et non avant chaque connexion
- Vous n'avez besoin de configurer que les fournisseurs que vous prévoyez utiliser Les informations d'identification ici proviennent des, pas de Supabase
- Assurez-vous que les informations de compte du fournisseur correspondent à ce que vous avez configuré dans Supabase
Étape 5 : Configuration du client Supabase
Installez le client Supabase :
npm install @supabase/supabase-js
Créez un service Supabase :
// services/supabase.ts
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = 'https://your-project-ref.supabase.co';
const supabaseKey = 'your-anon-public-key';
export const supabase = createClient(supabaseUrl, supabaseKey, {
auth: {
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: false,
},
});
Étape 6 : Implémentation de la flux d'authentification
Créez un service d'authentification qui combine les deux :
// services/auth.ts
import { SocialLogin } from '@capgo/capacitor-social-login';
import { supabase } from './supabase';
export class AuthService {
async initializeSocialLogin() {
await SocialLogin.initialize({
google: {
webClientId: 'YOUR_WEB_CLIENT_ID.apps.googleusercontent.com',
},
facebook: {
appId: 'YOUR_FACEBOOK_APP_ID',
clientToken: 'YOUR_FACEBOOK_CLIENT_TOKEN',
},
apple: {} // iOS configuration
});
}
async signInWithGoogle() {
try {
const result = await SocialLogin.login({
provider: 'google',
options: {
scopes: ['email', 'profile']
}
});
const googleResult = result.result;
if (!googleResult) {
throw new Error('Google login failed');
}
// GoogleLoginResponse is a union type - check responseType to determine flow
if (googleResult.responseType === 'online') {
// Online mode: use idToken directly with Supabase
const { data, error } = await supabase.auth.signInWithIdToken({
provider: 'google',
token: googleResult.idToken!,
});
if (error) throw error;
return data;
} else {
// Offline mode: exchange serverAuthCode on your backend
// Your backend should exchange the code for tokens and create a Supabase session
const response = await fetch('/api/auth/google', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ serverAuthCode: googleResult.serverAuthCode })
});
return response.json();
}
} catch (error) {
console.error('Google sign-in error:', error);
throw error;
}
}
async signInWithApple() {
try {
const result = await SocialLogin.login({
provider: 'apple',
options: {
scopes: ['email', 'name']
}
});
const { data, error } = await supabase.auth.signInWithIdToken({
provider: 'apple',
token: result.result?.identityToken!,
});
if (error) throw error;
return data;
} catch (error) {
console.error('Apple sign-in error:', error);
throw error;
}
}
async signInWithFacebook() {
try {
const result = await SocialLogin.login({
provider: 'facebook',
options: {
permissions: ['email', 'public_profile']
}
});
const fbResult = result.result;
if (!fbResult?.accessToken?.token) {
throw new Error('Facebook login failed - no access token received');
}
// Facebook uses accessToken for Supabase authentication
const { data, error } = await supabase.auth.signInWithIdToken({
provider: 'facebook',
token: fbResult.accessToken.token,
});
if (error) throw error;
return data;
} catch (error) {
console.error('Facebook sign-in error:', error);
throw error;
}
}
async signOut() {
// Sign out from Supabase
await supabase.auth.signOut();
// Optionally sign out from social providers
await SocialLogin.logout({
provider: 'google' // or 'apple', 'facebook'
});
}
getCurrentUser() {
return supabase.auth.getUser();
}
onAuthStateChange(callback: (event: string, session: any) => void) {
return supabase.auth.onAuthStateChange(callback);
}
}
export const authService = new AuthService();
Étape 7 : Implémentation dans votre application
Initialisez le service et gérez l'authentification :
// main.ts or app component
import { authService } from './services/auth';
async function initializeApp() {
await authService.initializeSocialLogin();
// Listen to auth state changes
authService.onAuthStateChange((event, session) => {
if (event === 'SIGNED_IN') {
console.log('User signed in:', session.user);
// Redirect to authenticated area
} else if (event === 'SIGNED_OUT') {
console.log('User signed out');
// Redirect to login
}
});
}
initializeApp();
Créez des boutons de connexion dans votre interface utilisateur :
// Login component
async function handleGoogleLogin() {
try {
const user = await authService.signInWithGoogle();
console.log('Signed in with Google:', user);
} catch (error) {
console.error('Login failed:', error);
}
}
async function handleAppleLogin() {
try {
const user = await authService.signInWithApple();
console.log('Signed in with Apple:', user);
} catch (error) {
console.error('Login failed:', error);
}
}
async function handleFacebookLogin() {
try {
const user = await authService.signInWithFacebook();
console.log('Signed in with Facebook:', user);
} catch (error) {
console.error('Login failed:', error);
}
}
async function handleLogout() {
try {
await authService.signOut();
console.log('Signed out successfully');
} catch (error) {
console.error('Logout failed:', error);
}
}
Étape 8 : Configuration spécifique à la plateforme
Configuration iOS
Pour des instructions de mise en place détaillées pour iOS, consultez nos guides spécifiques à la plateforme :
- Configuration iOS Google - Configuration de schéma URL, configuration d'Info.plist
- Configuration iOS Apple - Configuration de la capacité de connexion avec Apple
- Configuration iOS Facebook (guide Facebook général) - Configuration de Facebook SDK
Résumé rapide - Ajouter à ios/App/App/Info.plist:
<!-- Google Sign-In URL scheme -->
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>YOUR_REVERSED_CLIENT_ID</string>
</array>
</dict>
</array>
<!-- Apple Sign-In capability -->
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
Suivez les guides liés pour obtenir des instructions de mise en place complètes pour iOS, y compris la configuration du projet Xcode.
Configuration Android
Pour des instructions de mise en place détaillées d'Android, consultez nos guides spécifiques à la plateforme :
- Mise en place Android Google - empreintes SHA-1, configuration des services Google Play
- Mise en place Android Apple - configuration de l'ID de service pour Android
- Mise en place Android Facebook (guide Facebook en général) - intégration Facebook SDK
Mise en place Android essentielle:
1. Obtenez votre empreinte SHA-1 (nécessaire pour Google) :
# For debug builds (development)
cd android
./gradlew signingReport
# Look for the SHA1 fingerprint under "Variant: debug"
# Add this SHA1 to your Google Cloud Console Android OAuth client
2. Configurez AndroidManifest.xml - Ajoutez à android/app/src/main/AndroidManifest.xml:
<!-- Internet permission -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Facebook configuration -->
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
<meta-data
android:name="com.facebook.sdk.ClientToken"
android:value="@string/facebook_client_token"/>
3. Ajoutez les ressources Facebook à android/app/src/main/res/values/strings.xml:
<string name="facebook_app_id">YOUR_FACEBOOK_APP_ID</string>
<string name="facebook_client_token">YOUR_FACEBOOK_CLIENT_TOKEN</string>
Suivez les guides de la plateforme liée pour une configuration complète d'Android, y compris la mise en place de Google Play Services et la configuration du nom de package.
Étape 9 : Utilisation de la base de données Supabase avec des utilisateurs authentifiés
Une fois les utilisateurs authentifiés, vous pouvez utiliser la base de données Supabase avec la sécurité au niveau de la ligne (RLS) :
// Example: Fetch user profile
async function getUserProfile() {
const { data: user } = await supabase.auth.getUser();
if (user) {
const { data, error } = await supabase
.from('profiles')
.select('*')
.eq('id', user.user.id)
.single();
return data;
}
}
// Example: Update user profile
async function updateUserProfile(updates: any) {
const { data: user } = await supabase.auth.getUser();
if (user) {
const { data, error } = await supabase
.from('profiles')
.update(updates)
.eq('id', user.user.id);
return data;
}
}
Considérations de sécurité importantes
- N'exposez jamais les clés sensibles dans votre client code
- Utilisez les variables d'environnement pour la configuration
- Activer la sécurité au niveau de la ligne dans Supabase
- Valider les jetons sur votre serveur si nécessaire
- Gérer la mise à jour automatique des jetons avec Supabase
Résolution des problèmes courants
Erreurs de correspondance de jetons
- Vérifiez que les configurations de votre fournisseur OAuth sont identiques entre le plugin de connexion sociale et Supabase
- Vérifiez que les URL de redirection sont correctement configurées
Problèmes spécifiques à la plateforme
- iOS : Vérifiez que votre identifiant de bundle correspond à votre configuration Apple Developer
- Android : Assurez-vous que les empreintes SHA1 sont correctement ajoutées à Google Console
Interruptions de flux d'authentification
- Implémenter un traitement d'erreur approprié pour les problèmes de réseau
- Ajouter des états de chargement pendant l'authentification
Conclusion
Vous disposez maintenant d'un système d'authentification complet qui combine le backend robuste de Supabase avec des capacités de connexion sociale native. Cette configuration fournit :
- Authentification sociale native sécurisée
- Gestion de jetons sans heurt
- Intégration de base de données en temps réel
- Compatibilité multiplateforme
La combinaison de Supabase et du plugin de connexion sociale Capgo offre une solution d'authentification puissante et scalable pour vos applications Capacitor.
Pour des fonctionnalités avancées comme l'authentification à deux facteurs ou revendications personnaliséesvérifiez les la documentation de Supabase et la la documentation du plugin de connexion sociale.
Continuez à partir de la mise en place de l'authentification Supabase avec Capacitor le plugin de connexion sociale
Si vous utilisez la mise en place de l'authentification Supabase avec Capacitor le plugin de connexion sociale pour planifier l'authentification et les flux de compte, connectez-l’avec @capgo/capacitor-connexion-sociale pour les détails d'implémentation dans @capgo/capacitor-connexion-sociale @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 L'authentification à deux facteurs pour les détails d'implémentation dans L'authentification à deux facteurs, et SSO (Entreprise) pour les détails d'implémentation dans SSO (Entreprise).