Analyse d’un jeton d’ID HS256-Signed sans jeton d’accès
Message d’erreur: Le jeton d’ID n’a pas pu être validé à l’aide de l’algorithme HS256 et les applications publiques (navigateur, par exemple) ne peuvent pas stocker les secretsCauses
À partir de auth0.js version 9 et Lock version 11, lorsque des jetons d’ID sont signés avec HS256, ils sont ignorés et un appel à/userinfo
est fait pour récupérer les informations de l’utilisateur.
L’appel à /userinfo
nécessite un jeton d’accès. Si vous ne demandez pas de jeton d’accès lors de l’authentification, vous recevrez l’erreur suivante :
Le id_token ne peut pas être validé car il a été signé avec l'algorithme HS256 et les applications publiques (comme un navigateur) ne peuvent pas stocker de secrets. Veuillez consulter la documentation associée pour connaître les solutions possibles.
Corrections
Vous pouvez procéder de deux manières :- (RECOMMANDÉ) Utilisez l’algorithme de signature d’application RS256 à la place de HS256.
- Changez la valeur de votre paramètre
responseType
entoken id_token
(à la place de la valeur par défaut) afin de recevoir un jeton d’accès dans la réponse.
- Accédez à Auth0 Dashboard > Applications > Applications et sélectionnez le nom de l’application à afficher.
- Faites défiler vers le bas de la page Paramètres et sélectionnez Afficher les paramètres avancés.
- Sélectionnez la vue OAuth, changez la valeur de JsonWebToken Signature Algorithm en RS256, puis sélectionnez Enregistrer les modifications.