Guida completa all'autenticazione di terze parti in Flutter con Parse su Back4App
Integrare metodi di autenticazione di terze parti come Facebook, Google e Apple nella tua app Flutter può migliorare significativamente l'esperienza dell'utente offrendo opzioni di accesso flessibili e convenienti. Parse Server, alimentato da Back4App, offre supporto integrato per questi fornitori di autenticazione. In questo tutorial, imparerai come implementare l'autenticazione di terze parti nella tua app Flutter utilizzando il Parse SDK su Back4App.
Alla fine di questo tutorial, avrai un'app Flutter con funzionalità di registrazione e accesso completamente funzionanti che includono:
- Autenticazione standard con email/password utilizzando Parse.
- Metodi di autenticazione di terze parti:
- Facebook
- Google
- Apple
Per seguire questo tutorial, avrai bisogno dei seguenti:
- Un ambiente di sviluppo Flutter installato sul tuo computer. Segui questa guida se hai bisogno di aiuto per configurare Flutter.
- Account sviluppatore per Facebook, Google e Apple (richiesti per impostare metodi di accesso di terze parti).
- Un IDE o editor di testo come Visual Studio Code o Android Studio.
- Clicca su "Crea nuova App".
- Inserisci un nome per la tua applicazione, ad esempio, "AuthDemo", e clicca "Crea".
- Una volta creato il progetto, vai su Impostazioni App > Sicurezza e Chiavi.
- Annota il tuo ID Applicazione e Chiave Client. Avrai bisogno di questi valori per inizializzare Parse nella tua app Flutter.
- Nel tuo dashboard Back4App, vai su Impostazioni Server > Autenticazione.
- Abilita i metodi di autenticazione che intendi utilizzare:
- Facebook
- Google
- Apple
- Per ogni fornitore, dovrai inserire credenziali specifiche (ID App, ID Client, Segreti, ecc.), che saranno configurate nei prossimi passaggi.
Apri il tuo terminale e crea un nuovo progetto Flutter:
Apri pubspec.yaml e aggiungi le seguenti dipendenze per Parse e opzioni di accesso di terze parti:
Esegui flutter pub get per installare le dipendenze.
Nel file lib/main.dart importa il SDK di Parse e inizializzalo nella funzione main :
- Sostituisci 'YOUR_APP_ID' e 'YOUR_CLIENT_KEY' con le tue credenziali effettive di Back4App dal Passo 1.
Crea una nuova directory chiamata services sotto lib e aggiungi un file chiamato auth_service.dart. Questo servizio gestirà la registrazione e il login degli utenti utilizzando Parse.
Crea una nuova directory chiamata screens sotto lib e aggiungi un file chiamato auth_screen.dart. Questa schermata fornirà l'interfaccia utente per l'autenticazione standard.
- Crea un'app Facebook:
- Clicca su "Le mie app" e poi "Crea app".
- Seleziona "Consumatore" come tipo di app e fai clic su "Avanti".
- Compila il Nome dell'App e Email di Contatto, poi clicca "Crea App".
- Aggiungi il login di Facebook alla tua app:
- Nel tuo cruscotto dell'app, vai a "Aggiungi un prodotto" e seleziona "Accesso a Facebook".
- Scegli "Android" e/o "iOS" a seconda della tua piattaforma di destinazione.
- Segui i passaggi di configurazione forniti da Facebook. Avrai bisogno del Bundle Identifier per iOS e del Package Name per Android.
- Configura l'URI di reindirizzamento OAuth:
- Imposta il OAuth Redirect URI su: https://parseapi.back4app.com/auth/facebook/callback
- Ottieni l'ID dell'app e il segreto dell'app:
- Nella dashboard della tua app, vai a "Impostazioni" > "Base".
- Annota il App ID e App Secret.
- Aggiungi l'ID dell'app e il segreto a Back4App:
- Nel dashboard di Back4App, vai a Impostazioni del server > Autenticazione.
- Sotto Facebook, inserisci il tuo ID App e Segreto App.
Aggiungi il seguente codice per gestire l'autenticazione di Facebook:
Aggiungi il seguente pulsante alla tua interfaccia utente:
- Aggiorna il tuo android/app/src/main/AndroidManifest.xml:
- Aggiungi il tuo ID App di Facebook a android/app/src/main/res/values/strings.xml:
- Aggiorna il tuo Info.plist file:
- Crea un progetto nella Google Cloud Console:
- Configura la schermata di consenso OAuth:
- Naviga a APIs & Services > Schermata di consenso OAuth.
- Configura la schermata di consenso con gli ambiti necessari.
- Crea ID client OAuth:
- Vai a Credenziali > Crea credenziali > ID client OAuth.
- Scegli Applicazione web.
- Aggiungi URI di reindirizzamento autorizzati: https://parseapi.back4app.com/auth/google/callback
- Annota il Client ID e il Client Secret.
- Aggiungi Client ID e Secret a Back4App:
- Nel dashboard di Back4App, sotto Impostazioni server > Autenticazione, inserisci il tuo Client ID e il Client Secret per Google.
Aggiungi il seguente codice per gestire l'autenticazione di Google:
Aggiungi il seguente pulsante alla tua interfaccia utente:
- Aggiungi quanto segue al tuo android/app/build.gradle file:
- Aggiungi il tuo Google Client ID a android/app/src/main/res/values/strings.xml:
- Aggiorna il tuo android/app/src/main/AndroidManifest.xml:
- Aggiungi l'ID client invertito al tuo Info.plist:
- Registrati per la tua app:
- Abilita l'accesso con Apple:
- Sotto Identificatori, seleziona la tua app e abilita l'accesso con Apple.
- Crea un ID Servizi:
- Crea un ID Servizi per la tua app.
- Imposta il URI di reindirizzamento su: https://parseapi.back4app.com/auth/apple/callback
- Genera un Client Secret:
- Crea una chiave privata per l'accesso con Apple.
- Usa questa chiave per generare un Client Secret.
- Aggiungi credenziali a Back4App:
- Nel dashboard di Back4App, sotto Impostazioni del server > Autenticazione, inserisci il tuo ID Servizi e Client Secret per Apple.
Aggiungi il seguente codice per gestire l'autenticazione Apple:
Aggiungi il seguente pulsante alla tua interfaccia utente:
- In Xcode, apri il tuo progetto e vai a Signing & Capabilities.
- Clicca su "+ Capability" e aggiungi "Accedi con Apple".
- Assicurati che il tuo Bundle Identifier corrisponda a quello registrato nel Portale Sviluppatori Apple.
Ora che hai configurato tutti i metodi di autenticazione, puoi eseguire la tua app e testare ogni opzione di accesso.
- Per iOS, devi eseguire l'app su un dispositivo reale per testare Accedi con Apple.
- Per Android, puoi utilizzare un emulatore o un dispositivo fisico.
- Inserisci un nome utente, un'email e una password.
- Tocca "Registrati" per creare un nuovo utente.
- Tocca "Accedi" per accedere con le credenziali create.
- Tocca "Accedi con Facebook".
- Comparirà una schermata di accesso a Facebook.
- Accedi con le tue credenziali di Facebook.
- Tocca "Accedi con Google".
- Comparirà una schermata di accesso a Google.
- Accedi con il tuo account Google.
- Tocca "Accedi con Apple".
- Comparirà il prompt di accesso ad Apple.
- Autenticati utilizzando il tuo ID Apple.
In questo tutorial, hai implementato con successo l'autenticazione standard con email/password e integrato metodi di autenticazione di terze parti (Facebook, Google e Apple) nella tua app Flutter utilizzando il Parse SDK su Back4App. Questa configurazione migliora l'esperienza dell'utente offrendo più opzioni di accesso convenienti.
- Profili Utente: Estendi l'app per gestire i profili utente, consentendo agli utenti di aggiornare le proprie informazioni.
- Funzionalità di Logout: Implementa funzionalità di logout per ciascun metodo di autenticazione.
- Sicurezza dei Dati: Proteggi i tuoi dati implementando il controllo degli accessi basato sui ruoli con Parse ACL e Ruoli.
- Gestione degli Errori: Migliora la gestione degli errori per fornire feedback più dettagliati agli utenti.
- Miglioramenti UI: Personalizza l'interfaccia utente per adattarla al branding della tua app e migliorare l'esperienza dell'utente.
Buon Codice!