Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Misleading "invalid algorithm" error on malformed public key

Ouverte
#882 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

@peralva y travaille déjà.

Depuis le 15/10/2026.

  • #1049 par @peralva — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
javascript, node.js

Piste de recherche

Commencez à la ligne 123 de verify.js et reproduisez le cas de la clé publique malformée avec le projet lié jsonwebtoken-invalid-alg-repro en utilisant les versions de Node.js indiquées. Suivez la manière dont l’échec de crypto est géré et considérez l’issue comme terminée lorsque l’erreur crypto d’origine est exposée au lieu de l’erreur trompeuse "invalid algorithm".

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description

On 9.0.0, we get the following error when trying to verify a JWT using a malformed public key:

JsonWebTokenError: invalid algorithm

In 8.x, we would get an error that would look something like:

Error: error:1E08010C:DECODER routines::unsupported
{
  library: 'DECODER routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_UNSUPPORTED'
}

The latter points us to a crypto error and suggests an issue parsing the key.
The former misleads the developer from the root issue.

The library should at least throw the original crypto error. Here is the line of code responsible for eating the error: https://github.com/auth0/node-jsonwebtoken/blob/master/verify.js#L123

Reproduction

https://github.com/Drew-Kimberly/jsonwebtoken-invalid-alg-repro
(uses dummy jwt/key from https://jwt.io)

Environment
  • Version of this library used: 9.0.0
  • Other relevant versions (language, server software, OS, browser): NodeJS 16.19.0 and 18.12.1
Langage dominant
JavaScript
Étoiles
18.2k
Forks
1.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de auth0/node-jsonwebtoken

Toutes les issues de auth0/node-jsonwebtoken

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.