2.0 KiB
TP - Implémentation de l'algorithme de génération d'un JWT en NodeJS
Objectifs
Implémenter avec la librairie standard (pas d'installation de modules supplémentaires) de NodeJS un algorithme permettant de générer un JWT valide.
Environnement technique
- NodeJS LTS (v8.9.4)
Critères d'évaluation du résultat
Critères | Bonus |
---|---|
Le script ne contient pas d'erreur de syntaxe. | |
Le code est commenté. | |
Soit un objet et un secret défini préalablement, le script doit afficher sur la sortie standard un JWS valide, vérifiable via l'outil en ligne de débuggage | Le secret et les attributs à encoder dans le JWT sont passable par arguments au script. |
Super bonus (pour les plus rapides/motivés)
Implémenter en installant le module express et body-parser une micro-application web servant les routes suivantes:
#### GET /login
Affiche une simple page avec un formulaire de login/mot de passe. Ceux ci peuvent être en dur dans le code de l'application.
POST /login
Route recevant les paramètres username
et password
du formulaire précédent et générant un JWT avec les informations d'identification de l'utilisateur (un simple attribut username
dans le payload
est suffisant). Le JWT doit être affiché dans la page de réponse.
GET /profile?jwt={token}
Route affichant les éléments encodés dans le JWT passé en paramètre. L'absence de JWT valide devrait provoquer des erreurs 401/403 suivant les cas.