Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir API Platform

Ajouter un plug-in de gestion de token

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Grâce à JWT (JSON Web Token), vous profiterez de l'identification par token. Vous apprécierez son utilité dans le domaine des services web en JSON et des applications JavaScript.
05:11

Transcription

On utilise un « Bundle » pour identifier, ce n'est pas mal, mais le mieux serait encore de fournir un système d'authentification qui serait orienté au Web-service, et, en ce sens, on pourrait utiliser « JSON Web Token » qui est une norme qui s'impose de plus en plus, qui est très simple à utiliser et qui est très simple aussi, vous allez voir, à mettre en place. Il y aura, quand même, quelques étapes à respecter on va le faire ensemble. La première étape, c'est évidemment d'avoir à installer le « JSON WT», en fait, ici c'est « Lexik » qui le fournit, « LexikJWTAuthitificationBundle » qui, lui, va nous permettre de mettre en place cette authentification sur « API Platform ». Pour ça, vous allez utiliser la fameuse commande de « Require », vous allez faire ça en console. Vous n'hésitez pas, ici, à nettoyer votre console de ce que vous aviez avant et vous allez simplement utiliser « Composer require » et vous allez faire un « LexikJWTAuthenticationBundle », vous allez envoyer ça à la console, ça va s'installer. Je l'ai installé à l'avance, pour pas que ça prenne de temps, que ce soit déjà installé. Ensuite, vous allez voir dans la documentation, ici, on vous dit de le référencer, ça, vous savez déjà faire, on ne va pas s'y attarder dans l'« App/Kernel », effectivement vous venez référencer le Bundle. Vous devez créer des clés. Alors, ces clés, c'est un peu particulier, vous suivez simplement les étapes ici, vous allez créer le répertoire avec « mkdir -p », en vous basant dans votre répertoire de projet. Ensuite, vous allez envoyer cette commande qui va vous demander de taper un mot de passe deux fois de suite, vous tapez le bon mot de passe et vous envoyez encore cette commande supplémentaire qui va vous créer également un fichier supplémentaire, donc, une clé publique, une clé privée. Ça, vous les aurez ensuite dans votre projet, vous les aurez dans « var » « JWT », vous aurez, donc, vos deux clés. Moi, je les ai créées avec le « password » « Test 1234 ». Après ça, vous allez avoir un petit peu de « Parameter » ici, donc, des clés de paramètres à rajouter, ces quatre clés-là qui vont donner le chemin vers la clé privée, la clé publique, le mot de passe de votre clé, le temps de validité du « token ». Alors, ici, moi, je l'ai étendu énormément, vous n'êtes pas obligé en production, surtout, vous évitez de faire ça, pour les tests, c'est bien d'avoir un « token » valide pendant longtemps Ensuite, vous allez devoir, bien évidemment, dans la « config », venir référencer ces configurations qu'on a référencées dans « Parameter.ml » sous le nom « LexikJWTAuthentication ». Donc ça, vous le rajoutez bien. Petite chose à faire dans le « routing », vous devez ajouter, si ce n'est pas fait ici, le routing de « Fos_user » avec cette ressource-là, ou le « .yml » qui vous permet de bénéficier de toutes les routes. On a encore quelques petites choses à faire. Donc là, il va falloir maintenant customiser les « security.yml ». Si vous vous basez sur la documentation, vous risquez d'avoir des problèmes. Tout simplement parce qu' ici on va vous donner un « security.ylm » de base, mais on va vous en donner aussi dans JWT, donc, dans « API Platform » pour « JWT ». Là, ça va être aussi un autre « security.yml ». Moi, je vous ai fait un petit condensé des deux. Comme ça, vous en aurez trois en toute et pour tout. Vous aurez ici le mien, donc, vous pourrez le regarder, mettre pause et le recopier, le plus important, c'est la phase « login » ici qui doit respecter, c'est un format, notamment un passe pour le « check », et puis un « pattern » pour le login. Ensuite, tout en bas, j'ai ouvert la route « api/doc » de façon anonyme pour pouvoir y accéder partout, et c'est suffisant. Alors attention, par contre, maintenant une fois que tout ça se sera fait, je vous conseille, comme d'habitude, de vider le cache. Comme ça, au moins, vous êtes tranquille, vous êtes sûr que ça va être pris en compte. Puis enfin, une fois que tout ça sera fait, on va pouvoir commencer à s'identifier. Alors, on va s'identifier bien évidemment avec notre logiciel pour jouer des requêtes, notre fameux « Postman ». Par contre, je vous conseille d'abord de faire un petit tour en base de données et d'activer, ici, avec « enabled », donc, de le mettre à « true », l'utilisateur que vous allez vouloir tester, sinon vous ne pourrez pas vous identifier. Au moins, je vais utiliser « reilly.paris », je vais prendre son « username », et puis, ici, je vais faire une requête poste vers le login « check ». Donc, le login « check », on l'a là, je vais simplement, ici mettre un « Body » avec un « x-www-form-urlencoded », il y aura, donc, un header qui va s'appliquer, pensez bien à être comme ça. Et on va utiliser deux clés, « _username » qui va comprendre le username et « _password » qui va comprendre le « password », « test1234 », c'est ce qu'on avait mis à la base dans les « fixtures » et vous allez envoyer. Quand vous allez envoyer, vous allez vous identifier, et l'identification va vous retourner à un « token ». Bien sûr, si vous vous trompez de mot de passe vous n'allez pas pouvoir vous identifier. Vous allez avoir une autre réponse, vous allez avoir une 401 avec un « Bad credentials ». Si vous identifiez correctement, là vous allez obtenir un « token ». Ce « token », c'est un « JSON Web Token ». En l'utilisant plus tard, on le verra, vous allez pouvoir requêter sur des URL qui sont protégés, et donc, vous allez pouvoir, grâce à ce système, protéger des parties de votre site et fournir des authentifications par « token » à vos utilisateurs. Voyez que ce n'est pas compliqué à mettre en place, il suffit d'installer le Bundle, de respecter les différentes étapes de mettre en place la sécurité et d'utiliser la route « login check » avec « Username » et « Password ». Petite chose, évidemment, « username » avec l'« underscore » et « password » avec l' « underscore », c'est des choses par défaut, donc, c'est pour ça qu'on va utiliser ça.

Découvrir API Platform

Prenez en main le framework API Platform. Voyez comment effectuer sa configuration, créer des services web de données, et réalisez ainsi efficacement une application complète.

3h24 (54 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !