Introduction - L'authentification (JWT)

  • Durée : 1 h

  • Environnement de travail : local

  • Pré-requis : maîtriser Symfony et connaître les bases des API REST

  • Compilatio : 6 %

Contexte

Comme pour n'importe quelle application, une API doit posséder un système d'authentification afin d'en sécuriser l'accès. Il n'est pas souhaitable qu'un utilisateur non reconnu puisse, par exemple, créer des articles ou en supprimer.

Sur un projet Symfony MVC traditionnel, cette authentification est faite à l'aide d'un identifiant et d'un mot de passe. Une fois connecté, l'utilisateur reçoit un cookie de session permettant au serveur de le reconnaître à chacune des requêtes, lui évitant ainsi de se reconnecter.

Dans une API, le client obtient, après authentification, un token unique, généré par le serveur, qu'il devra ensuite envoyer à chaque requête afin d'être reconnu. Ce token, contenant des informations sur l'utilisateur en format JSON, doit être encodé afin d'être sécurisé : on parle alors de JWT, alias JSON Web Token.

La génération de ces tokens étant sensible, il est plus sûr de passer par des librairies reconnues pour les générer.

Dans ce chapitre, vous allez utiliser le bundle Lexic Authentication JWT afin de générer et valider vos JSON Web Tokens.