nodeSolidServer / nodeSolidServer/node-solid-server

Test for trialing slashes in value for 'issuer' from '/.well-known/openid-configuration' responses

Offen
#1,511 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
1.8k
Forks
308
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Basically our ESS Brokers are advertising themselves (in their /.well-known/openid-configuration responses) as issuers with a trailing slash, e.g. for https://broker.pod.inrupt.com/.well-known/openid-configuration:

{
    "introspection_endpoint": "https://broker.pod.inrupt.com/introspect",
    "scopes_supported": [
        "openid",
        "offline_access",
        "webid"
    ],
    "issuer": "https://broker.pod.inrupt.com/",
    :

Note the trailing slash on the issuer URL (which is technically (slightly!) more correct than having the URL without the trailing slash).
So it seems NSS might be blindly taking that issuer value, and appending the string literal /.well-known/openid-configuration to it, without first checking if the issuer value has a trailing slash or not. If the URL constructed has two slashes, then the server responds with it’s standard HTML ‘Page Not Found’ response, which results in the ‘invalid json response…’ error.

If this is correct, then the fix in NSS should be simply checking for a trailing slash before appending /.well-known/openid-configuration.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Code zu lokalisieren, der die URL /.well-known/openid-configuration aus dem vom OpenID-Konfigurations-Response zurückgegebenen Issuer erstellt. Füge Abdeckung für Issuer-Werte mit und ohne abschließenden Schrägstrich hinzu und bestätige, dass beide eine gültige URL mit genau einem Schrägstrich anstelle einer ungültigen JSON-Antwort erzeugen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
authentication
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.