authorize endpoint fails if public jwk doesn't include .alg
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, nodejs
- Bereich
- authentication, backend
Rechercherichtung
Beginne bei AuthenticationRequest.loadCnfKey in @solid/oidc-op und verfolge die importKey-Aufrufe durch @solid/jose/src/jose/JWK.js und JWA.js. Vergleiche das Verhalten mit dem WebID-OIDC authorization-request guide und RFC 7517; abgeschlossen ist die Aufgabe, wenn der Fall eines fehlenden alg ein explizites, angemessenes Ergebnis für den authorize-Endpunkt hat.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
In the guide for the webid-oidc spec, the "Authorization Request" step describes the encoding of the request paramater.
This includes the public key of a JWK in the key field. I'm using a python tool to generate keys (jwcrypto), but when it generates a public key it doesn't include the "alg" field:
{
"kty": "RSA",
"n": "sezpNr99QA7xMqkNvpZamVDdkiAn_xvuH2H5nTFKYDKILny3a1hp2ULV2nvumiCt9IsxEuvPjAGRQsPMKwDkCjhzO70EoFyb2k2PzwBk_Fd37xNbl4Nrb4W9zK7Vff5vXmtBOFSSzsUdUf52zZMii7RZBcDQSLcmv63qV_NDpvGNOTadth1nbJhzMtQDQWBlWbClI8Z4R0fGgx7yhQvMqOl6vIlFfricBcoe2nopS51uUbsZSNSkTrGHCsBM_ggvVcWzFAvipkSsplEPhvdT1K7oC4Q6yNG6koPPajpxNnEw05Nh5YHIUcmhFKj76rqaCNtwBejYBxeQp2rwnLekKQ",
"e": "AQAB"
}
According to the JWK spec, this parameter is optional: https://tools.ietf.org/html/rfc7517#section-4.4
When generating an authorization request, if the key doesn't include alg, node-solid server returns an error. The exception that causes this is:
normalizedAlgorithm = Error: undefined is not a supported algorithm
at SupportedAlgorithms.normalize (node_modules/@solid/jose/src/algorithms/SupportedAlgorithms.js:75:14)
at Function.importKey (node_modules/@solid/jose/src/jose/JWA.js:89:51)
at Function.importKey (node_modules/@solid/jose/src/jose/JWK.js:31:16)
at AuthenticationRequest.loadCnfKey (node_modules/@solid/oidc-op/src/handlers/AuthenticationRequest.js:212:16)
at node_modules/@solid/oidc-op/src/handlers/AuthenticationRequest.js:176:26
It seems that jose.JWA expects that the alg field exists: https://github.com/solid/jose/blob/71ebf31761002bcb18ce88e739a30a8a6459936f/src/jose/JWA.js#L89
I couldn't find any specific webid-oidc documentation that says that alg is required in this case. It might be nice for node-solid-server to return an explicit error message if a submitted key doesn't include it.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 1.8k
- Forks
- 308
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
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 nodeSolidServer/node-solid-server
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
nodeSolidServer/node-solid-server#1848 · 2 Kommentare · 1 Reaktion ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
nodeSolidServer/node-solid-server#1841 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
nodeSolidServer/node-solid-server#1147 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
nodeSolidServer/node-solid-server#1853 ·
Alle Issues in nodeSolidServer/node-solid-server
Ähnliche Issues
-
ai-observability bug team/ai-observability
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
AllTheMods/ATM-10-L#19 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
SignalK/n2k-signalk#345 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
JuliaPluto/PlutoPlotly.jl#72 ·