Revenir

Entre ton email pour recevoir le guide complet pour apprendre Swift peu importe ton niveau

Utiliser Firebase pour authentifier ses utilisateurs avec Swift

Savez-vous comment créer une API qui gère une base de données pour authentifier les utilisateurs ?

Si vous n’êtes pa un développeur back-end, probablement pas. Et c’est tout à fait normal !

Ce n’est pas un problème avec Firebase. Ajoutez simplement cette librarie à votre projet le plus gros du travail est fait ! Vous avez alors une base de données pour stocker tout ce que vous voulez et authentifier les utilisateurs sans avoir à créer de serveur et à le gérer. Et c’est gratuit.

C’est parfait pour les petites applications et si vous ne connaissez rien au développement back-end. Mais ça l’est aussi pour les applications plus grosses pour réduire leurs coûts.

Mise en place de Firebase

Tout d’abord, vous devez créer un nouveau projet Firebase.

Pour ce faire, il vous suffit d’avoir un compte Google de base (vous l’avez déjà si vous avez une adresse Gmail) puis d’aller sur le site de Firebase :

Accueil Firebase

Ici, cliquez sur Get started. Vous serez redirigé vers une page où vous pourrez ajouter un nouveau projet et c’est ce que vous devrez faire.

La première étape consiste à ajouter un nom à votre projet. C’est une étape simple, tapez simplement le nom que vous voulez donner à votre projet.

Sous le nom, vous pouvez voir l’ID de votre projet. Copiez l’ID du projet, on va en avoir besoin.

Ensuite, vous pouvez ajouter Google Analytics à votre projet, il suffit de sauter cette partie dont nous n’avons pas besoin pour ce projet et de créer le projet.

Une fois que le projet est créé, vous êtes sur l’écran d’accueil de votre projet. A partir de là, vous pouvez tout faire comme vérifier ce qui est stocké dans votre base de données, ajouter des choses à la base de données, changer les règles d’authentification…

Console Firebase

Cliquez sur le bouton iOS et suivez les étapes en remplissant le formulaire.

Ensuite, vous avez un fichier de configuration que vous devez ajouter à votre projet. Téléchargez-le et ajoutez-le à votre projet en faisant glisser le fichier vers votre projet Xcode comme indiqué sur l’image.

Console Firebase

Suivez ensuite les étapes pour ajouter les pods requis (ce sont des packages qui sont ajoutés au projet). Dans notre cas, il suffit d’ajouter :

pod 'Firebase/Auth'

Suivez ensuite l’étape suivante pour ajouter le code de configuration dans votre projet.

Et c’est tout, vous en avez fini avec la partie la plus compliquée de ce tutoriel !

Créer des utilisateurs

Voici comment vous pouvez créer des utilisateurs :

Code Firebase Création d'utilisateur

Facile, n’est-ce pas ?

Et bien sûr, le mot de passe est automatiquement haché pour vous dans la base de données, vous ne pouvez pas le voir.

Donc ne vous inquiétez pas, les mots de passe sont stockés en toute sécurité.

Mais il y a un problème. Que faire si je veux ajouter plus qu’une simple adress email et un mot de passe à mon utilisateur ? Comme un nom, un âge, un sexe… ?

Voici comment vous pouvez le faire :

Console Firebase

Vous récupérez simplement l’utilisateur connecté (vous venez d’en créer un juste avant donc vous pouvez être sûr qu’il y a un utilisateur connecté) et puis vous changez quelques propriétés et validez les changements.

N’oubliez pas de toujours gérer les erreurs comme je l’ai fait !

Connexion d’un utilisateur

Après avoir créé des utilisateurs, vous devez leur permettre de se connecter !

Voici comment vous pouvez le faire :

Console Firebase

Pourquoi avons-nous un weak self ? Et pourquoi créons-nous un strongSelf ?

Les réponses à toutes les questions sur les listes de capture sont dans mon article sur la (différence entre strong, weak et unowned dans les closures)[https://medium.com/@arteko/how-to-use-strong-weak-and-unowned-references-in-swift-2ebb0c45bfe0].

Maintenant, vous devez avoir un moyen de vérifier si un utilisateur est connecté. Et si un utilisateur est connecté, vous devez obtenir ses données de profil pour les afficher.

Il y a 2 façons de vérifier si un utilisateur est connecté :

  • La première consiste à recevoir une notification chaque fois qu’un utilisateur se connecte à :

Console Firebase

  • Et l’autre façon est de vérifier s’il y a un Utilisateur courant comme nous l’avons déjà fait auparavant :

Console Firebase

Comme vous l’avez remarqué, le principal avantage de cette méthode est que vous pouvez obtenir le profil de l’utilisateur en même temps que vous vérifiez si un utilisateur est connecté.

Vous pouvez également voir dans l’exemple précédent comment vous pouvez obtenir les valeurs associées au profil d’un utilisateur.

Bien sûr, vous devez gérer les erreurs avec un autre bloc de code et vous ne pouvez pas forcer l’unwrapping des valeurs optionnelles comme je l’ai fait !

Parce que si, pour une raison quelconque, les valeurs sont à nil, votre application plantera immédiatement et vous devriez toujours éviter de prendre un tel risque dans les applications qui ont pour but d’être publiées !

Conclusion

Vous avez vu dans cet article combien il est simple de créer une base de données qui stocke les utilisateurs et leurs données sans aucune connaissance en programmation back-end avec Firebase.

Il y a énormément d’autres choses que vous pouvez faire avec Firebase. Je vous encourage vivement à vous documentrer sur le sujet et je couvrirai le reste de Firebase dans un autre article!