JWT::InvalidIssuerError beim Dekodieren von JWT (OpenID Connect)

Hallo :wave:! Guten Nachmittag, ich habe eine Frage zum OpenID Connect-Plugin

Ich versuche, ID Uruguay (einen staatlichen OpenID Connect-„Provider“) mit Discourse zu verwenden. Ich habe mich für den Testserver angemeldet und sie haben mir die notwendigen Daten geschickt.

Der gesamte Ablauf scheint gut zu funktionieren, außer beim Callback. Anscheinend ist der im JWT gesendete Issuer nicht derselbe wie im Discovery-Dokument.
Ich habe bereits den Support kontaktiert und sie sagten, dass der Fehler im Grunde von Discourse ausging (was ich nicht glaube).

Ist es möglich, dem Feld „erwarteter Issuer“ irgendwie einen anderen Wert hinzuzufügen?

Discovery-Dokument: https://auth-testing.iduruguay.gub.uy/oidc/v1/.well-known/openid-configuration

Logs
OIDC Log: JWT geladen

---
iss: https://auth-testing.iduruguay.gub.uy/oidc/v1
sub: '7630'
aud: '862271'
exp: 1656363519
iat: 1656362919
auth_time: 1656362918
amr:
- urn:iduruguay:am:password
acr: urn:iduruguay:nid:1
nonce: 94d556d732db0db8dff0e09a174c27f2943cfe1740845abf537ff768e96c8ddf
at_hash: eokMw_xDlqb6cXB-DkDA_A
pais_documento:
  codigo: uy
  nombre: Uruguay
tipo_documento:
  codigo: 68909
  nombre: C.I.
numero_documento: '54682086'
email: alexander.barrios@estudiante.ceibal.edu.uy
email_verified: true
name: Yanquis Alexander Barrios Espíndola
given_name: Yanquis Alexander
family_name: Barrios Espíndola
nickname: uy-ci-54682086
idp: Usuario gub.uy

(oidc) Authentifizierungsfehler! jwt_decode_failed: JWT::InvalidIssuerError, Ungültiger Issuer. Erwartet ["https://auth-testing.iduruguay.gub.uy"], erhalten https://auth-testing.iduruguay.gub.uy/oidc/v1


Vielen Dank im Voraus! :hugs:

Hmm.

Aus dem Speicherort des Discovery-Dokuments müssen Sie davon ausgehen, dass der Aussteller https://auth-testing.iduruguay.gub.uy/oidc/v1 ist, da das Discovery-Dokument der Aussteller mit angehängtem /.well-known/openid-configuration ist.

Nun besagt das Dokument selbst issuer\t\"https://auth-testing.iduruguay.gub.uy\"

Und dann haben wir das OpenID Connect Discovery-Dokument, das besagt:

Und die beiden Anforderungen im letzten Satz werden nicht erfüllt. Der iss-Anspruchswert ist identisch mit der Issuer-URL, die zum Abrufen der Konfiguration verwendet wurde, aber beide sind NICHT identisch mit dem zurückgegebenen issuer-Wert.

Also, was auch immer es wert ist, ich denke, sie liegen falsch und Sie haben Recht. Schade, dass Sie damit nicht weiterkommen.

3 „Gefällt mir“

Interessante Tatsache, das wusste ich nicht :thinking:

Ich habe dies gemeldet und auf Ihre Antwort verwiesen. Ich warte auf eine Antwort vom ID Uruguay Support :sleeping:.

Im Moment verwende ich einen Pastebin mit dem korrekten Aussteller (war sowieso zum Testen) und alles scheint korrekt zu funktionieren. Ich hoffe, dass das Support-Team dieses Detail lösen kann, bevor es in den Produktionsmodus von ID Uruguay übergeht.

2 „Gefällt mir“

Ich bin überrascht, dass das funktioniert :slight_smile: , da die Spezifikation besagt

Nun, ich habe eine Antwort erhalten, und sie werden es einfach nicht beheben, „weil es auf ihrer Seite kein Problem gibt und es weit verbreitet ist“ :slight_smile:

Ich sehe nichts in der Dokumentation, um den JWT zu überprüfen, also muss das der Grund sein, warum es „einfach funktioniert“ :thinking:

Dokumentation (Google Translate):
https://centroderecursos-agesic-gub-uy.translate.goog/web/seguridad/wiki/-/wiki/Main/ID+Uruguay+-+Integración+con+OpenID+Connect?_x_tr_sl=es&_x_tr_tl=en&_x_tr_hl=es&_x_tr_pto=wapp


Ich habe einen „Proxy“ für das Discovery-Dokument erstellt, der den zurückgegebenen Emittenten modifiziert, und es funktioniert auch „einfach“, ich habe dies gemeldet und sie haben es akzeptiert :slight_smile:

Ich habe das Gefühl, dass dies in Zukunft fehlschlagen wird, weil es nicht den Spezifikationen folgt, aber im Moment ist es in Ordnung.

Danke Richard, dass du dir die Zeit genommen hast zu helfen! :hugs:

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.