Impostare l'autenticazione nei dispositivi mobili può essere complesso, ma combinando Supabase con il Capgo plugin di login sociale rende tutto più semplice. Questo tutorial vi guiderà attraverso l'integrazione dell'autenticazione sociale (Google, Apple, Facebook) con Supabase nel vostro Capacitor app.
Perché Usare Supabase con il Login Sociale?
Supabase fornisce un backend come servizio robusto con autenticazione integrata, mentre il plugin @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login offre un'autenticazione sociale nativa su piattaforme iOS, Android e web. Per un'integrazione Supabase più stretta, @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-supabase aggiunge aiuti di autenticazione nativi e accesso JWT. Insieme, forniscono: @capgo/capacitor-social-login Gestione sicura dei token @capgo/capacitor-supabase Integrazione di database in tempo reale
- Supabase
- provides a robust backend-as-a-service with built-in authentication, while the
- Capacitor
- plugin offers native social authentication across iOS, Android, and web platforms. For tighter Supabase integration,
- Funzionalità di gestione degli utenti integrate
Requisiti
Prima di iniziare, assicurati di avere:
- Un progetto Capacitor configurato
- Un account e un progetto Supabase
- Conti di sviluppatore per i tuoi provider social scelti (Google, Apple, Facebook)
Passo 1: Installare e configurare il plugin di accesso sociale
Prima di tutto, installa il plugin di accesso sociale Capgo:
npm install @capgo/capacitor-social-login
npx cap sync
Vedi il Login sociale e Supabase pagine plugin per la configurazione specifica della piattaforma.
Passo 2: Configura il Progetto Supabase
Creare e configurare il tuo Progetto Supabase
-
Creare un Progetto Supabase:
- Vai a supabase.com e registrati/effettua l'accesso
- Clicca “Nuovo Progetto”
- Scegli la tua organizzazione
- Inserisci un Nome del Progetto Esempio: "Autenticazione MyApp"
- Stabilisci un Password del Database (salvalo in modo sicuro)
- Scegli il tuo Regione (scegli quella più vicina ai tuoi utenti)
- Clicca su "Crea nuovo progetto"
-
Ottieni le credenziali del tuo progetto:
- Una volta creato, vai a Impostazioni > API
- Copia il tuo URL del progetto (ad esempio,
https://your-project-ref.supabase.co) - Copia il tuo indirizzo pubblico anonimo API chiave
- Salva questi per un uso futuro nel tuo app
Configura le impostazioni di autenticazione
-
Configura le impostazioni di autenticazione generali:
- Vai a Autenticazione > Impostazioni
- Sotto Impostazioni generali:
- Crea URL del sito a quello del tuo app (ad esempio,
https://yourdomain.comohttp://localhost:3000Configura il tuo URL di app (ad esempio, - aggiungi ulteriori URL di reindirizzamento se necessario:
http://localhost:3000 https://yourdomain.com capacitor://localhost (for mobile apps)
- Crea URL del sito a quello del tuo app (ad esempio,
-
Configura le impostazioni email (facoltativo ma consigliato):
- Sotto Impostazioni SMTPConfigura il tuo provider di posta elettronica
- Questa abilita le conferme via email e i reset dei password
- Per il development puoi utilizzare il servizio di posta elettronica integrato
Abilita i Provider di Autenticazione Sociale
- Accedi alla sezione dei provider:
- Vai a Autenticazione > Provider nel tuo dashboard di Supabase
- Vedrai una lista dei provider social disponibili
- Ogni provider ha un Abilita opzioni di toggle e di configurazione
Ora configuriamo ogni provider sociale in dettaglio:
Passo 3: Configura i provider sociali in Supabase
Configurazione dell'autenticazione Google in Supabase
In primo luogo, ottieni le tue credenziali OAuth Google:
Segui la nostra guida dettagliata di configurazione Google: Configurazione dell'autenticazione Google
Questa guida copre:
- Creazione di un progetto Cloud Google
- Configurazione delle credenziali OAuth 2.0 per web, iOS e Android
- Configurazione dello schermo di consenso
- Ottieni gli ID client e le chiavi richiesti
After averificato il setup di Google, configuralo in Supabase:
- Abilita il provider Google in Supabase:
- In dashboard di Supabase, vai a Autenticazione > Provider
- Cerca Google e attivalo ATTIVATO
- Compila le informazioni:
- ID del client: Il tuo Google OAuth Web ID del client (dal Console di Google Cloud)
- Segreto del client: Il tuo Google OAuth Web Segreto del client
- URL di reindirizzamento:
https://your-project-ref.supabase.co/auth/v1/callback(riempito automaticamente)
- Clicca “Salva”
Importante: Utilizza l'ID del client Web ID del client Web e Segreto del Client Web in Supabase, anche se stai creando un'app mobile. Gli ID dei client mobili vengono utilizzati separatamente nella configurazione del plugin.
Configurazione dell'autenticazione Apple in Supabase
Ottieni le credenziali Apple:
Segui la nostra guida dettagliata di configurazione Apple: Configurazione dell'autenticazione Apple
Questa guida copre:
- Configurazione del tuo account sviluppatore Apple
- Creazione degli ID App e degli ID Servizio
- Configurazione della capacità di accedere con Apple
- Generazione delle chiavi private richieste
- Configurazione specifica della piattaforma per iOS, Android e Web
Dopo aver completato la configurazione di Apple, configuralo in Supabase:
- Abilita il provider Apple in Supabase:
- Vai a Autenticazione > Provider e attiva Apple ATTIVO
- Inserisci le informazioni di configurazione:
- ID del client: Il tuo identificatore di servizio ID (ad esempio,
com.yourapp.signin) - Segreto del client: Genera questo JWT utilizzando la tua chiave privata Apple (vedi Supabase Apple docs per il formato JWT)
- URL di reindirizzamento:
https://your-project-ref.supabase.co/auth/v1/callback(riempito automaticamente)
- ID del client: Il tuo identificatore di servizio ID (ad esempio,
- Clicca “Salva”
Nota: la configurazione di autenticazione Apple è la più complessa a causa delle richieste di Apple per gli ID di servizio, le chiavi private e la generazione di JWT. Segui attentamente la nostra documentazione per ogni piattaforma.
Configurazione dell'autenticazione Facebook in Supabase
Ottieni le credenziali Facebook:
Segui la nostra guida completa per la configurazione Facebook: Configurazione di autenticazione Facebook
Questa guida copre:
- Creazione di un account di sviluppatore Facebook e app
- Aggiunta del prodotto di accesso Facebook
- Configurazione degli URI di reindirizzamento OAuth
- Ottieni il tuo ID App, Segreto App e Token Client
- Configurazione specifica per piattaforma per iOS e Android
Dopo aver completato la configurazione di Facebook, configuralo in Supabase:
- Abilita il provider Facebook in Supabase:
- Vai a Autenticazione > Provider e attiva Facebook ON
- Compila le impostazioni:
- ID del client: Il tuo ID dell'app Facebook
- Segreto del client: Il tuo segreto dell'app Facebook
- URL di reindirizzamento:
https://your-project-ref.supabase.co/auth/v1/callback(riempito automaticamente)
- Clicca “Salva”
Importante: Assicurati di aggiungere l'URL di callback di Supabase (https://your-project-ref.supabase.co/auth/v1/callback) alle URI valide di reindirizzamento del tuo app Facebook' Valid OAuth Redirect URIs in le impostazioni di accesso Facebook.
Note importanti di configurazione di Supabase
Controllo di sicurezza a livello di riga (RLS):
- Dopo aver configurato l'autenticazione, abilita RLS sulle tue tabelle
- Vai a Database > Tabelle e attiva Abilita RLS per ogni tabella
- Configura le politiche per controllare l'accesso ai dati in base agli utenti autenticati
Gestione degli utenti:
- Visualizza gli utenti autenticati in Autenticazione > Utenti
- Monitora gli eventi di autenticazione in Autenticazione > Log
- Configura i modelli di email in Autenticazione > Modelli di email
Test della configurazione:
- Utilizza lo strumento di test di autenticazione integrato di Supabase
- Vai a Autenticazione > Utenti e clicca "Invita l'utente" per testare i flussi di posta elettronica
- Controlla la Registri context":"Pagina/Area: Capgo Builder / prodotto di costruzione cloud nativa. Ruolo: Etichetta di navigazione breve o elemento UI. Visto in: pagina native-build.astro. Messaggio chiave `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl)."
sezione per eventuali errori di autenticazione
Passo 4: Configura il plugin di accesso sociale Ora che Supabase è configurato, è necessario configurare il plugin di accesso sociale con le credenziali corrispondenti.Importante context":"Pagina/Area: programma di ricompensa per bug. Ruolo: etichetta di UI. Visto in: pagina bug-bounty.astro. Messaggio chiave `bug_bounty_important_label` (Bug Bounty Important Label)." Il plugin richiede le credenziali OAuth dalle","provider originali","(non da Supabase), mentre Supabase gestisce l'autenticazione server-side."
How the Authentication Flow Works
Prima di immergersi nella configurazione, comprendi il flusso:
- Plugin autentica con il provider sociale (Google/Apple/Facebook) nativamente
- Plugin riceve i token (token di accesso, token ID) dal provider
- La tua app invia questi token a Supabase utilizzando
signInWithIdToken() - Supabase verifica i token con il provider e crea una sessione utente
- Supabase restituisce il suo token JWT proprio per le richieste autenticate della tua app
Configurazione Plugin Google
Il plugin richiede il tuo ID del Client Web per tutte le piattaforme e facoltativamente un ID del Client iOS per le funzionalità specifiche di 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'
}
});
Punti chiave per Google:
- Utilizza l' ID del Client Web (non gli ID dei clienti Android/iOS) per il
webClientIdcampo - Il plugin funzionerà su tutte le piattaforme con solo l'ID del Client Web
- Il
iOSClientIdè facoltativo e viene utilizzato solo per le funzionalità di Google specifiche di iOS
Configurazione Plugin Apple
La configurazione di Apple differisce tra iOS e Android:
Per iOS (sign-in nativo di Apple):
await SocialLogin.initialize({
apple: {
// No additional configuration needed for iOS
// The plugin uses the native Apple Sign-In capability
}
});
Per Android/Web (richiede ID Servizio):
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'
}
});
Punti chiave per Apple:
- iOS utilizza il Sign in con Apple nativo (nessuna configurazione aggiuntiva necessaria)
- Android/Web richiede l'ID Servizio che hai creato nel Portale dello Sviluppatore Apple
- Il
redirectUrlcorrisponde a quanto configurato in entrambi il Portale degli sviluppatori Apple e Supabase
Configurazione del plugin Facebook
Facebook richiede il tuo ID App e Token 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
}
});
Punti chiave per Facebook:
- Utilizza lo stesso ID App che hai configurato in Supabase
- Token Client si trova nelle impostazioni base del tuo App Facebook
limitedLogin: trueabilita la funzione di login limitato di Facebook, focalizzata sulla privacy (disponibile solo su iOS)- Importantevedi il nostro guida di configurazione di Facebook per informazioni dettagliate sulla funzione di login limitato, comprese le considerazioni relative all'ATR
Completa l'inizializzazione del plugin
Ecco come inizializzare tutti i provider insieme:
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'
}
});
}
Note importanti:
- Chiamare
initialize()context HTML testo frammento da una stringa Capgo UI più lunga (chiave padre `appflow_migration_step2`). Pagina/area: Appflow confronto/migrazione copia di marketing. Ruolo: Copia di sito frase. Visualizzato in: pagina ionic-appflow.astro. Preservare esattamente i termini prodotto/marca e sviluppatore Capgo. Chiave messaggio `appflow_migration_step2` (Appflow Migrazione Step2). - una volta
- quando il tuo app inizia, non prima di ogni login Sei necessario configurare solo i provider che hai pianificato di utilizzareIl credenziali qui sono da
- i provider originali
e non da Supabase
Assicurati che le credenziali del provider corrispondano a quelle configurate in Supabase. 5° passo: Configura il client Supabase. Installa il client Supabase:
npm install @supabase/supabase-js
Crea un servizio 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,
},
});
Passo 6: Implementa il Flusso di Autenticazione
Crea un servizio di autenticazione che combina entrambi:
// 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();
Passo 7: Implementa nel tuo App
Inizializza il servizio e gestisci l'autenticazione:
// 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();
Crea pulsanti di accesso nel tuo UI:
// 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);
}
}
Passo 8: Configurazione Specifica per Piattaforma
Configurazione per iOS
Per ulteriori istruzioni di configurazione iOS dettagliate, consulta le nostre guide specifiche per piattaforma:
- Configurazione iOS di Google - Schemi di URL, configurazione di Info.plist
- Configurazione iOS di Apple - Configurazione di accesso Apple
- Configurazione Facebook per iOS (guida generale Facebook) - Configurazione Facebook SDK
Riepilogo rapido - Aggiungi a 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>
Illegate le guide complete per le istruzioni di configurazione iOS, compresa la configurazione del progetto Xcode.
Configurazione Android
Per le istruzioni di configurazione Android dettagliate, vedere le nostre guide specifiche per il tuo sistema operativo:
- Configurazione Android di Google - Dati di fingerprint SHA-1, configurazione dei servizi di Google Play
- Configurazione Android di Apple - Configurazione dell'ID del servizio per Android
- Configurazione di Facebook per Android (in generale guida di Facebook) - Integrazione di Facebook SDK
Configurazione Android essenziale:
1. Ottieni il tuo fingerprint SHA-1 (richiesto per 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. Configura AndroidManifest.xml - Aggiungi a 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. Aggiungi risorse di Facebook a 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>
Segui le guide relative alle piattaforme per una configurazione completa di Android, inclusa la configurazione di Google Play Services e il nome del pacchetto.
Passo 9: Utilizzo del Database Supabase con Utenti Autenticati
Una volta che gli utenti sono stati autenticati, è possibile utilizzare il database Supabase con la sicurezza a livello di riga (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;
}
}
Considerazioni di Sicurezza Importanti
- Non esporre mai le chiavi sensibili in il tuo client code
- Utilizzare le variabili di ambiente per la configurazione
- Abilitare la sicurezza a livello di riga in Supabase
- Validare i token se necessario sul tuo backend
- Gestire il rinnovo dei token automaticamente con Supabase
Risolvere Problemi Comuni
Errori di Mancanza di Token
- Assicurati che le configurazioni del provider OAuth siano compatibili tra il plugin di accesso sociale e Supabase
- Verifica che gli URL di reindirizzamento siano configurati correttamente
Issue Specifiche per Piattaforma
- iOS: Verifica che l'ID del bundle corrisponda alla configurazione del tuo sviluppatore Apple
- Android: Assicurati che le impronte SHA1 siano aggiunte correttamente al Console di Google
Interruzioni del Flusso di Autenticazione
- Implementa un gestione degli errori appropriata per le questioni di rete
- Aggiungi stati di caricamento durante l'autenticazione
Conclusioni
Ora hai un sistema di autenticazione completo che combina il robusto backend di Supabase con le capacità di login sociale native. Questa configurazione fornisce:
- Autenticazione sociale nativa sicura
- Gestione dei token senza problemi
- Integrazione della base di dati in tempo reale
- Compatibilità cross-platform
La combinazione di Supabase e il plugin di login sociale Capgo offre una soluzione di autenticazione potente e scalabile per le tue Capacitor app.
Per funzionalità avanzate come autenticazione a fattore multipla o context:HTML testo frammento da una stringa UI Capgo più lunga (chiave genitore `alternatives_cta_questions`). Pagina/area: pagina di confronto delle alternative di Capacitor live-update. Ruolo: lungo paragrafo di marketing o legale. Visto in: pagina alternatives.astro. Preservare i termini di prodotto e marchio Capgo e i termini di sviluppatore esattamente. Chiave messaggio `alternatives_cta_questions` (Domande di CTA per le alternative). | Testo frammento HTML da una stringa UI Capgo più lunga (chiave genitore `appflow_cta_questions`). Pagina/area: copia di marketing di confronto/migrazione per Appflow. Ruolo: lungo paragrafo di marketing o legale. Visto in: pagina ionic-appflow.astro. Preservare i termini di prodotto e marchio Capgo e i termini di sviluppatore esattamente. Chiave messaggio `appflow_cta_questions` (Domande di CTA per Appflow). | Testo frammento HTML da una stringa UI Capgo più lunga (chiave genitore `capwesome_cta_questions`). Pagina/area: pagina di confronto di Capawesome. Ruolo: lungo paragrafo di marketing o legale. Visto in: pagina capwesome.astro. Preservare i termini di prodotto e marchio Capgo e i termini di sviluppatore esattamente. Chiave messaggio `capwesome_cta_questions` (Domande di CTA per Capawesome). | Pagina/area: pagina di servizi di consulenza. Ruolo: sottotitolo o didascalia di sezione. Visto in: pagina consulting.astro. Preservare i termini di prodotto e marchio Capgo e i termini di sviluppatore esattamente. Chiave messaggio `consulting_faq_subtitle` (Sottotitolo FAQ per la consulenza). | Pagina/area: copia di marketing di confronto/migrazione per Appflow. Ruolo: breve etichetta UI o elemento di navigazione. Visto in: pagina ionic-appflow.astro, pagina ionic-enterprise-plugins.astro, pagina soluzioni/ionic-enterprise-plugins.astro. Chiave messaggio `appflow_plugins_or` (Appflow Plugins o).richieste personalizzate Controlla la documentazione di Supabase e il Dal documento del plugin di accesso sociale.
Continua da Setup Supabase Authentication con il plugin di accesso sociale Capacitor
Se stai utilizzando Setup Supabase Authentication con il plugin di accesso sociale Capacitor per pianificare l'autenticazione e le flussi di account, connettilo con @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login, @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric for the implementation detail in @capgo/capacitor-native-biometric, Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori, e SSO (aziendale) per il dettaglio di implementazione in SSO (aziendale).