مرحباً،
ديسكورس هو حاليًا البرنامج الذي أعتقد أنه يتمتع بأعلى درجة من الحرية التقنية، لذلك اخترته كمنتدى خاص بي. لكنني واجهت خطأ “وثيقة الاكتشاف مفقودة” عند تكوين OIDC، مما استغرق مني أسبوعًا ، ولم أجد حلاً مناسبًا هنا.
لقد قمت ببناء ديسكورس بنجاح وفقًا للبرنامج التعليمي التالي:
ثم استخدمت دوكر لبناء Keycloak، وتم نشر كل من Keycloak و Discourse محليًا. عندما أنشأت اتصال Discourse و Keycloak عبر OIDC، واجهت الخطأ التالي:
سجل OIDC: جلب وثيقة الاكتشاف أثار خطأ Faraday::ConnectionFailed FinalDestination: تم رفض جميع عناوين IP المحلولة
1:51 مساءً
(oidc) فشل المصادقة! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError، وثيقة الاكتشاف مفقودة
1:51 مساءً
OmniAuth::OpenIDConnect::DiscoveryError (وثيقة الاكتشاف مفقودة) lib/middleware/omniauth_bypass_middleware.rb:53:in `call' lib/content_security_policy/middleware.rb:12:in `call' lib/middleware/
وفقًا لهذا الخطأ، وجدت الحل المقابل على النحو التالي:
بعد اتباع الحل، تم الإبلاغ عن خطأ جديد على النحو التالي:
قد أكون مخطئًا، ولكن نظرًا لأن Discourse و Keycloak تم نشرهما محليًا باستخدام Docker، فهل أنت متأكد من أن Discourse يمكنه إجراء طلبات إلى Keycloak؟ لقد واجهت مشكلة في ذلك في الماضي. أعرف أنه يمكن جعله يعمل.
شكرا لردك الصبور الذي أعطاني فكرة جيدة . أنت على حق بالفعل. لا يمكن الوصول إلى خدمة keycloak المحلية عبر localhost أو 127.0.0.1، لذلك أستخدم عنوان IP الخاص بالمضيف بدلاً من localhost. ولكن ظهرت مشكلة جديدة: