Guide complet de l'authentification tierce en Flutter avec Parse sur Back4App
Intégrer des méthodes d'authentification tierces comme Facebook, Google et Apple dans votre application Flutter peut considérablement améliorer l'expérience utilisateur en offrant des options de connexion flexibles et pratiques. Parse Server, propulsé par Back4App, offre un support intégré pour ces fournisseurs d'authentification. Dans ce tutoriel, vous apprendrez comment mettre en œuvre l'authentification tierce dans votre application Flutter en utilisant le SDK Parse sur Back4App.
À la fin de ce tutoriel, vous aurez une application Flutter avec des fonctionnalités d'inscription et de connexion entièrement fonctionnelles qui incluent :
- Authentification standard par e-mail/mot de passe utilisant Parse.
- Méthodes d'authentification tierces :
- Facebook
- Google
- Apple
Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :
- Un environnement de développement Flutter installé sur votre machine. Suivez ce guide si vous avez besoin d'aide pour configurer Flutter.
- Connaissances de base en Flutter et Dart. Si vous êtes nouveau, consultez l'introduction de Flutter.
- Comptes développeur pour Facebook, Google et Apple (nécessaires pour configurer les méthodes de connexion tierces).
- Un IDE ou éditeur de texte tel que Visual Studio Code ou Android Studio.
- Cliquez sur "Créer une nouvelle application".
- Entrez un nom pour votre application, par exemple, "AuthDemo", et cliquez sur "Créer".
- Une fois le projet créé, accédez à Paramètres de l'application > Sécurité et clés.
- Notez votre ID d'application et Clé client. Vous aurez besoin de ces valeurs pour initialiser Parse dans votre application Flutter.
- Dans votre tableau de bord Back4App, accédez à Paramètres du serveur > Authentification.
- Activez les méthodes d'authentification que vous souhaitez utiliser :
- Facebook
- Google
- Apple
- Pour chaque fournisseur, vous devrez saisir des identifiants spécifiques (ID d'application, ID client, secrets, etc.), qui seront configurés dans les étapes à venir.
Ouvrez votre terminal et créez un nouveau projet Flutter :
Ouvrez pubspec.yaml et ajoutez les dépendances suivantes pour Parse et les options de connexion tierces :
Exécutez flutter pub get pour installer les dépendances.
Dans le fichier lib/main.dart , importez le SDK Parse et initialisez-le dans la fonction main :
- Remplacez 'VOTRE_ID_APP' et 'VOTRE_CLE_CLIENT' par vos véritables identifiants Back4App de l'étape 1.
Créez un nouveau répertoire appelé services sous lib et ajoutez un fichier nommé auth_service.dart. Ce service gérera l'inscription et la connexion des utilisateurs en utilisant Parse.
Créez un nouveau répertoire appelé screens sous lib et ajoutez un fichier nommé auth_screen.dart. Cet écran fournira l'interface utilisateur pour l'authentification standard.
- Créer une application Facebook :
- Cliquez sur "Mes applications" puis "Créer une application".
- Sélectionnez "Consommateur" comme type d'application et cliquez sur "Suivant".
- Remplissez le Nom de l'application et Email de contact, puis cliquez sur "Créer l'application".
- Ajoutez la connexion Facebook à votre application :
- Dans le tableau de bord de votre application, naviguez vers "Ajouter un produit" et sélectionnez "Connexion Facebook".
- Choisissez "Android" et/ou "iOS" en fonction de votre plateforme cible.
- Suivez les étapes de configuration fournies par Facebook. Vous aurez besoin de l'Identifiant de l'Application pour iOS et du Nom du Package pour Android.
- Configurer l'URI de redirection OAuth :
- Définissez le URI de redirection OAuth à : https://parseapi.back4app.com/auth/facebook/callback
- Obtenez l'ID de l'application et le secret de l'application :
- Dans le tableau de bord de votre application, allez à "Paramètres" > "De base".
- Notez le ID de l'application et Secret de l'application.
- Ajouter l'ID de l'application et le secret à Back4App :
- Dans le tableau de bord Back4App, naviguez vers Paramètres du serveur > Authentification.
- Sous Facebook, saisissez votre ID d'application et Secret d'application.
Ajoutez le code suivant pour gérer l'authentification Facebook :
Ajoutez le bouton suivant à votre interface utilisateur :
- Mettez à jour votre android/app/src/main/AndroidManifest.xml:
- Ajoutez votre ID d'application Facebook à android/app/src/main/res/values/strings.xml:
- Mettez à jour votre Info.plist fichier :
- Créer un projet dans Google Cloud Console :
- Configurer l'écran de consentement OAuth :
- Naviguez vers APIs & Services > Écran de consentement OAuth.
- Configurez l'écran de consentement avec les portées nécessaires.
- Créer un ID client OAuth :
- Allez à Identifiants > Créer des identifiants > ID client OAuth.
- Choisissez Application Web.
- Ajoutez URI de redirection autorisés: https://parseapi.back4app.com/auth/google/callback
- Notez le ID client et Secret client.
- Ajoutez l'ID client et le secret à Back4App :
- Dans le tableau de bord Back4App, sous Paramètres du serveur > Authentification, saisissez votre ID client et Secret client pour Google.
Ajoutez le code suivant pour gérer l'authentification Google :
Ajoutez le bouton suivant à votre interface utilisateur :
- Ajoutez ce qui suit à votre android/app/build.gradle fichier:
- Ajoutez votre ID client Google à android/app/src/main/res/values/strings.xml:
- Mettez à jour votre android/app/src/main/AndroidManifest.xml:
- Ajoutez l'ID client inversé à votre Info.plist:
- Enregistrez votre application :
- Activer l'authentification avec Apple :
- Sous Identifiants, sélectionnez votre application et activez l'authentification avec Apple.
- Créer un identifiant de service :
- Créez un identifiant de service pour votre application.
- Définissez l'URI de redirection à : https://parseapi.back4app.com/auth/apple/callback
- Générer un secret client :
- Créez une clé privée pour l'authentification avec Apple.
- Utilisez cette clé pour générer un secret client.
- Ajouter des identifiants à Back4App :
- Dans le tableau de bord de Back4App, sous Paramètres du serveur > Authentification, saisissez votre identifiant de service et votre secret client pour Apple.
Ajoutez le code suivant pour gérer l'authentification Apple :
Ajoutez le bouton suivant à votre interface utilisateur :
- Dans Xcode, ouvrez votre projet et allez à Signing & Capabilities.
- Cliquez sur "+ Capability" et ajoutez "Sign in with Apple".
- Assurez-vous que votre Bundle Identifier correspond à celui enregistré sur le portail des développeurs Apple.
Maintenant que vous avez configuré tous les méthodes d'authentification, vous pouvez exécuter votre application et tester chaque option de connexion.
- Pour iOS, vous devez exécuter l'application sur un appareil réel pour tester la connexion avec Apple.
- Pour Android, vous pouvez utiliser un émulateur ou un appareil physique.
- Entrez un nom d'utilisateur, un e-mail et un mot de passe.
- Appuyez sur "S'inscrire" pour créer un nouvel utilisateur.
- Appuyez sur "Connexion" pour vous connecter avec les identifiants créés.
- Appuyez sur "Se connecter avec Facebook".
- Un écran de connexion Facebook apparaîtra.
- Connectez-vous avec vos identifiants Facebook.
- Appuyez sur "Se connecter avec Google".
- Un écran de connexion Google apparaîtra.
- Connectez-vous avec votre compte Google.
- Appuyez sur "Se connecter avec Apple".
- L'invite de connexion Apple apparaîtra.
- Authentifiez-vous avec votre identifiant Apple.
Dans ce tutoriel, vous avez réussi à mettre en œuvre l'authentification standard par e-mail/mot de passe et à intégrer des méthodes d'authentification tierces (Facebook, Google et Apple) dans votre application Flutter en utilisant le SDK Parse sur Back4App. Cette configuration améliore l'expérience utilisateur en offrant plusieurs options de connexion pratiques.
- Profils d'utilisateur : Étendez l'application pour gérer les profils d'utilisateur, permettant aux utilisateurs de mettre à jour leurs informations.
- Fonctionnalité de déconnexion : Implémentez des fonctionnalités de déconnexion pour chaque méthode d'authentification.
- Sécurité des données : Sécurisez vos données en mettant en œuvre un contrôle d'accès basé sur les rôles avec les ACL et les rôles de Parse.
- Gestion des erreurs : Améliorez la gestion des erreurs pour fournir des retours plus détaillés aux utilisateurs.
- Améliorations de l'interface utilisateur : Personnalisez l'interface utilisateur pour correspondre à la marque de votre application et améliorer l'expérience utilisateur.
Bon codage !