Di più

Guida completa all'autenticazione di terze parti in Flutter con Parse su Back4App

43min

Introduzione

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:

  1. Autenticazione standard con email/password utilizzando Parse.
  2. Metodi di autenticazione di terze parti:
    • Facebook
    • Google
    • Apple

Requisiti

Per seguire questo tutorial, avrai bisogno dei seguenti:

  • Un account Back4App. Registrati per un account gratuito su Back4App.
  • Un ambiente di sviluppo Flutter installato sul tuo computer. Segui questa guida se hai bisogno di aiuto per configurare Flutter.
  • Conoscenze di base di Flutter e Dart. Se sei nuovo, dai un'occhiata a introduzione a 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.

Passo 1 – Configurare il tuo backend Back4App

1.1. Crea un progetto Back4App

  1. Accedi al tuo dashboard Back4App.
  2. Clicca su "Crea nuova App".
  3. Inserisci un nome per la tua applicazione, ad esempio, "AuthDemo", e clicca "Crea".
  4. Una volta creato il progetto, vai su Impostazioni App > Sicurezza e Chiavi.
  5. Annota il tuo ID Applicazione e Chiave Client. Avrai bisogno di questi valori per inizializzare Parse nella tua app Flutter.

1.2. Abilita i fornitori di autenticazione

  1. Nel tuo dashboard Back4App, vai su Impostazioni Server > Autenticazione.
  2. Abilita i metodi di autenticazione che intendi utilizzare:
    • Facebook
    • Google
    • Apple
  3. Per ogni fornitore, dovrai inserire credenziali specifiche (ID App, ID Client, Segreti, ecc.), che saranno configurate nei prossimi passaggi.

Passo 2 – Installare e configurare Parse SDK in Flutter

2.1. Crea un Nuovo Progetto Flutter

Apri il tuo terminale e crea un nuovo progetto Flutter:

Bash


2.2. Aggiungi Dipendenze

Apri pubspec.yaml e aggiungi le seguenti dipendenze per Parse e opzioni di accesso di terze parti:

YAML


Esegui flutter pub get per installare le dipendenze.

2.3. Inizializza Parse in main.dart

Nel file lib/main.dart importa il SDK di Parse e inizializzalo nella funzione main :

Dart

  • Sostituisci 'YOUR_APP_ID' e 'YOUR_CLIENT_KEY' con le tue credenziali effettive di Back4App dal Passo 1.

Passo 3 – Implementazione dell'Autenticazione Standard

3.1. Crea il Servizio di Autenticazione

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.

Dart


3.2. Crea la schermata di autenticazione

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.

Dart


Passaggio 4 – Integrazione dell'Autenticazione Facebook

4.1. Configurare l'Account Sviluppatore di Facebook

  1. 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".
  2. 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.
  3. Configura l'URI di reindirizzamento OAuth:
    • Imposta il OAuth Redirect URI su: https://parseapi.back4app.com/auth/facebook/callback
  4. 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.
  5. 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.

4.2. Aggiornare auth_service.dart con Facebook Login

Aggiungi il seguente codice per gestire l'autenticazione di Facebook:

Dart


4.3. Aggiungi il pulsante di accesso a Facebook a auth_screen.dart

Aggiungi il seguente pulsante alla tua interfaccia utente:

Dart


4.4. Configurazioni specifiche per la piattaforma

Android

  • Aggiorna il tuo android/app/src/main/AndroidManifest.xml:
XML

  • Aggiungi il tuo ID App di Facebook a android/app/src/main/res/values/strings.xml:
XML


iOS

  • Aggiorna il tuo Info.plist file:
XML


Passo 5 – Integrazione dell'autenticazione Google

5.1. Configura l'account sviluppatore Google

  1. Crea un progetto nella Google Cloud Console:
  2. Configura la schermata di consenso OAuth:
    • Naviga a APIs & Services > Schermata di consenso OAuth.
    • Configura la schermata di consenso con gli ambiti necessari.
  3. 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.
  4. 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.

5.2. Aggiorna auth_service.dart con Google Login

Aggiungi il seguente codice per gestire l'autenticazione di Google:

Dart


5.3. Aggiungi il pulsante di accesso Google a auth_screen.dart

Aggiungi il seguente pulsante alla tua interfaccia utente:

Dart


5.4. Configurazioni specifiche della piattaforma

Android

  • Aggiungi quanto segue al tuo android/app/build.gradle file:
Text

  • Aggiungi il tuo Google Client ID a android/app/src/main/res/values/strings.xml:
XML

  • Aggiorna il tuo android/app/src/main/AndroidManifest.xml:
XML


iOS

  • Aggiungi l'ID client invertito al tuo Info.plist:
XML


Passo 6 – Integrazione dell'autenticazione Apple

6.1. Configura l'account Apple Developer

  1. Registrati per la tua app:
  2. Abilita l'accesso con Apple:
    • Sotto Identificatori, seleziona la tua app e abilita l'accesso con Apple.
  3. 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
  4. Genera un Client Secret:
    • Crea una chiave privata per l'accesso con Apple.
    • Usa questa chiave per generare un Client Secret.
  5. Aggiungi credenziali a Back4App:
    • Nel dashboard di Back4App, sotto Impostazioni del server > Autenticazione, inserisci il tuo ID Servizi e Client Secret per Apple.

6.2. Aggiorna auth_service.dart con l'accesso Apple

Aggiungi il seguente codice per gestire l'autenticazione Apple:

Dart


6.3. Aggiungi il pulsante di accesso Apple a auth_screen.dart

Aggiungi il seguente pulsante alla tua interfaccia utente:

Dart


6.4. Configurazioni specifiche per la piattaforma

Solo iOS

  • 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.

Passo 7 – Testare la tua applicazione

Ora che hai configurato tutti i metodi di autenticazione, puoi eseguire la tua app e testare ogni opzione di accesso.

7.1. Esegui l'app

Bash

  • 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.

7.2. Testa l'autenticazione standard

  • Inserisci un nome utente, un'email e una password.
  • Tocca "Registrati" per creare un nuovo utente.
  • Tocca "Accedi" per accedere con le credenziali create.

7.3. Testa l'accesso con Facebook

  • Tocca "Accedi con Facebook".
  • Comparirà una schermata di accesso a Facebook.
  • Accedi con le tue credenziali di Facebook.

7.4. Test di accesso a Google

  • Tocca "Accedi con Google".
  • Comparirà una schermata di accesso a Google.
  • Accedi con il tuo account Google.

7.5. Test di accesso ad Apple (solo iOS)

  • Tocca "Accedi con Apple".
  • Comparirà il prompt di accesso ad Apple.
  • Autenticati utilizzando il tuo ID Apple.

Conclusione

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.

Prossimi Passi

  • 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.

Risorse Aggiuntive

Buon Codice!