Misleading "invalid algorithm" error on malformed public key
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
- Área
- authentication, backend, security
Línea de trabajo
Comienza en la línea 123 de verify.js y reproduce el caso de la clave pública malformada con el proyecto enlazado jsonwebtoken-invalid-alg-repro usando las versiones de Node.js indicadas. Rastrea cómo se gestiona el fallo de crypto y considera completado el issue cuando se muestre el error de crypto original en lugar del engañoso error "invalid algorithm".
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- JavaScript
- Estrellas
- 18.2k
- Forks
- 1.3k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de auth0/node-jsonwebtoken
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
auth0/node-jsonwebtoken#1042 · 1 comentario ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errors Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
auth0/node-jsonwebtoken#1000 · 2 comentarios · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
auth0/node-jsonwebtoken#1046 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
auth0/node-jsonwebtoken#1034 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
auth0/node-jsonwebtoken#1032 ·
Todos los issues de auth0/node-jsonwebtoken
Issues similares
-
Update HugeIcons library Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
antfu-collective/icones#398 ·
-
ECmail.com Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
wesbos/burner-email-providers#554 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
components-web-app/docs#92 ·