JWT::InvalidIssuerError عند فك تشفير JWT (OpenID Connect)

مرحباً :wave:! مساء الخير، لدي سؤال بخصوص إضافة OpenID Connect

أحاول استخدام ID Uruguay (مزود OpenID Connect حكومي) مع Discourse، لقد سجلت في الخادم التجريبي وأرسلوا لي البيانات اللازمة.

يبدو أن التدفق بأكمله يعمل بشكل جيد باستثناء الاستدعاء، يبدو أن المُصدِر (Issuer) المرسل في JWT ليس هو نفسه الموجود في وثيقة الاكتشاف.
لقد اتصلت بالفعل بالدعم وقالوا إن الخطأ كان من Discourse (وهو ما لا أعتقد أنه صحيح).

هل من الممكن إضافة قيمة أخرى إلى “المُصدِر المتوقع”؟

وثيقة الاكتشاف: https://auth-testing.iduruguay.gub.uy/oidc/v1/.well-known/openid-configuration

السجلات
OIDC Log: Loaded JWT

---
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) Authentication failure! jwt_decode_failed: JWT::InvalidIssuerError, Invalid issuer. Expected ["https://auth-testing.iduruguay.gub.uy"], received https://auth-testing.iduruguay.gub.uy/oidc/v1


شكراً جزيلاً مقدماً! :hugs:

حسناً.

من موقع مستند الاكتشاف، تحتاج إلى افتراض أن المُصدر هو https://auth-testing.iduruguay.gub.uy/oidc/v1 لأن مستند الاكتشاف هو المُصدر مع إضافة /.well-known/openid-configuration إليه.

الآن المستند نفسه يقول issuer\t\"https://auth-testing.iduruguay.gub.uy\"

ثم لدينا مستند اكتشاف OpenID Connect الذي ينص على

والشرطان في الجملة الأخيرة لم يتم تلبيتهما. قيمة مطالبة iss متطابقة مع عنوان URL للمُصدر الذي تم استخدامه لاسترداد التكوين، ولكن كلاهما ليسا متطابقين مع قيمة issuer المُرجعة.

لذلك، على قدر ما هو مهم، أعتقد أنهم مخطئون وأنت على حق. من المؤسف أن هذا لا يوصلك إلى أي مكان.

3 إعجابات

حقيقة مثيرة للاهتمام، لم أكن أعرف ذلك :thinking:
لقد أبلغت عن هذا وربطت بإجابتك، سأنتظر ردًا من دعم ID Uruguay :sleeping:.
في الوقت الحالي، أستخدم لصقًا مع المُصدر الصحيح (على أي حال، كان ذلك للاختبار) ويبدو أن كل شيء يعمل بشكل صحيح، وآمل أن يتمكن فريق الدعم من حل هذه التفاصيل قبل التقديم إلى ID Uruguay في وضع الإنتاج.

إعجابَين (2)

أنا متفاجئ من أن هذا يعمل :slight_smile: ، نظرًا لأن المواصفات تقول

حسنًا، لقد حصلت على رد، ولن يقوموا بإصلاحه “لأنه لا توجد مشكلة من جانبهم وهو مستخدم على نطاق واسع” :slight_smile:

لا أرى أي شيء في الوثائق للتحقق من JWT، لذا يجب أن يكون هذا هو السبب في أنه “يعمل ببساطة” :thinking:

الوثائق (ترجمة جوجل):
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


لقد أنشأت “وكيل” لوثيقة الاكتشاف التي تعدل المُصدر المُعاد، وهي أيضًا “تعمل ببساطة”، وقد أبلغت عن ذلك وقبلوها :slight_smile:

أشعر أن هذا سيفشل في المستقبل لأنه لا يتبع المواصفات ولكن في الوقت الحالي لا بأس بذلك.

شكرًا ريتشارد على تخصيص الوقت للمساعدة! :hugs:

إعجابَين (2)

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