JWT-Framework v1.1.0

Florent MorselliJWT-Framework, Projet

Pratiquement 4 mois après la sorite de la première version stable du projet JWT-Framework, une nouvelle version va être émise très prochainement. Cette version est une version mineure, mais apporte de nombreux changement, dont voici les principaux.

La documentation en ligne du projet sera évidemment mise à jour au moment de sa sortie.

JWS & JWE Loaders

Le support des JWSLoader et JWELoader est amélioré, notamment depuis la configuration de votre application Symfony.

Ces composants permettent de lire des tokens et de les vérifier ou déchiffrer en seulement un appel. Les en-têtes sont évidemment vérifiés si un HeadCheckerManager est fourni.

Tokens Imbriqués

Une classe spécifique est ajoutée pour simplifier la lecture ou la création de tokens imbriqués (nested tokens).

Pour rappel, ces tokens sont signés dans un premier temps (JWS) puis chiffrés (JWE). Leur utilisation garantie non-seulement la confidentialité des données, mais aussi leur intégrité et l’identification de leur émetteur.

final or not final

À l’origine du projet, la majeure partie des classes étaient déclarées final. L’idée de départ était d’éviter à d’autres classes d’hériter des classes du projet et de forcer la composition.

Cette manière de procéder ne pose pas de problème si toutes les méthodes publiques sont couvertes par une interface, or ça n’est pas le cas pour bon nombre d’entre-elles.

Ce mot clé est donc désormais supprimé.

JWK depuis une clé partagée

Même si la création d’une clé JWK depuis une clé partagée est une opération triviale, une nouvelle méthode ainsi qu’une commande pour votre console ont été ajoutées.

Étiquetage des services

Il est désormais possible d’associer une ou plusieurs étiquettes sur tous les services créés par le bundle Symfony.

Correction de bugs

De nombreux bugs ont été corrigés. L’ensemble du projet passe le niveau 6 des règles standards de PHPStan. Il reste 26 bugs de niveau 7 (maximum à l’heure actuelle) qui seront traités dans une version suivante.

Aucun de ces bugs n’est critique.