Azure "JsonWebTokenError: invalid algorithm"
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- azure, javascript, node.js
- Bereich
- authentication, backend, cloud, security
Rechercherichtung
Beginne mit dem Backend-API-Pfad, der jwt.verify enthält, und vergleiche dessen Bereitstellungsverhalten in Azure Static Web Apps mit dem lokalen Emulator. Untersuche das bereitgestellte Token, das von der Microsoft identity jwks_uri zurückgegebene Zertifikat und den konfigurierten RS256-Algorithmus; der Issue ist abgeschlossen, wenn die Ursache des Azure-only-Fehlers „invalid-algorithm“ identifiziert ist und die Verifizierung funktioniert oder die Einschränkung dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
Only occurs when deployed to Azure cloud, local Azure Static Web Apps emulator is all ok.
Azure Static Web App (SWA) with integrated API. One of the step at backend API is to validate the Bearer Token with public key submitted in request headers:
const jwt = require("jsonwebtoken"); // v 8.5.1
async function getMSPublicKey(misc) // misc contains kid and tenantId, confirmed in F12 request header
{
var vurl = "https://login.microsoftonline.com/" + misc.tenantId + "/v2.0/.well-known/openid-configuration";
const x1 = await fetch(vurl);
const x2 = await x1.json();
const x3 = await fetch(x2.jwks_uri);
const k = await x3.json();
return pkey = k.keys.find( k => k.kid === misc.kid).x5c[0]; // public key in the entry matching kid
}
var vmisc = JSON.parse(ac.req.headers["misc"]);
var publickey = "-----BEGIN CERTIFICATE-----\n" + await getMSPublicKey(vmisc) + "\n-----END CERTIFICATE-----";
// next line is reported in AppTraces, Message = JsonWebTokenError: invalid algorithm
var payload = jwt.verify(theToken, publickey, { algorithms: ['RS256'] });
// theToken is validated ok at jwt.io
Environment
Azure Static Web Application
- jsonwebtoken: v 8.5.1
- azurefunctions: 3.5.2.0, node v 14.16.0
- VSC Version: 1.63.1 (system setup)
Commit: fe719cd3e5825bf14e14182fddeb88ee8daf044f
Date: 2021-12-14T02:13:54.292Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19044
- Vorherrschende Sprache
- JavaScript
- Sterne
- 18.2k
- Forks
- 1.3k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus auth0/node-jsonwebtoken
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
auth0/node-jsonwebtoken#1042 · 1 Kommentar ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errorsEvtl. vergeben @cobyfrombrooklyn-bot hat das vor 227 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
auth0/node-jsonwebtoken#1000 · 2 Kommentare · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
auth0/node-jsonwebtoken#1048 ·
-
verify() resolves a string secret by attempting createPublicKey() first, costing 4x-52x on the HS* pathEvtl. vergeben @Hashim1999164 hat das vor 21 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 65/100
auth0/node-jsonwebtoken#1046 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 10/100
auth0/node-jsonwebtoken#1034 ·
Alle Issues in auth0/node-jsonwebtoken
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
factory-active factory-automatic harness/claude-code task-identify-harness-labels-done task-identify-issue-type-done
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
vercel/ai#22549 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue help wanted
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
zmo2s/agent-toolbox#23 ·