Verification of RS256-encoded JWT does not work with Node 18
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, node.js
- Ambito
- authentication, backend, security
Direzione di ricerca
Start by reproducing the jwt.verify(myJWT, myKey, {algorithms: ["RS256"]}) example with node-jsonwebtoken 8.5.1 under Node 18 and compare it with Node 16. Use the reported OpenSSL decoder error and Keycloak-generated RS256 JWT as the baseline; done means verification works on the affected Node 18 environment without regressing Node 16 behavior.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Please do not report security vulnerabilities here. The Responsible Disclosure Program details the procedure for disclosing security issues.
Thank you in advance for helping us to improve this library! Please read through the template below and answer all relevant questions. Your additional work here is greatly appreciated and will help us respond as quickly as possible. For general support or usage questions, use the Auth0 Community or Auth0 Support. Finally, to avoid duplicates, please search existing Issues before submitting one here.
By submitting an Issue to this repository, you agree to the terms within the Auth0 Code of Conduct.
Description
Provide a clear and concise description of the issue, including what you expected to happen.
I'm trying to verify a JWT created by Keycloak. It uses the RS256 algorithm. That works with Node 16, but not with Node 18. I get the following error:
error:1E08010C:DECODER routines::unsupported
This is probably due to the version bump of OpenSSL in Node (Node 16 uses openssl: '1.1.1q+quic' while 18 shows openssl: '3.0.5+quic'.
See here: https://github.com/openssl/openssl/issues/17378 Apparently, it's a feature not a bug...
Reproduction
console.log(jwt.verify(myJWT, myKey, {algorithms: ["RS256"]}));
Environment
Please provide the following:
- Version of this library used: 8.5.1
- Version of the platform or framework used, if applicable: -
- Other relevant versions (language, server software, OS, browser): Node 16 / 10, Windows 10
- Other modules/plugins/libraries that might be involved: OpenSSL included in Node
- Lingua principale
- JavaScript
- Stelle
- 18.2k
- Fork
- 1.3k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di auth0/node-jsonwebtoken
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
auth0/node-jsonwebtoken#1042 · 1 commento ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errors Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
auth0/node-jsonwebtoken#1000 · 2 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
auth0/node-jsonwebtoken#1046 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
auth0/node-jsonwebtoken#1034 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
auth0/node-jsonwebtoken#1032 ·
Tutte le issue di auth0/node-jsonwebtoken
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
area-deployment area-integrations triage:bot-seen
Difficoltà 2/5 Mezza giornata Idoneità per principianti 86/100
-
Issue-Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
sugarlabs/musicblocks#8924 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled Apertacustomer-eng status: needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100