Discourse كموفر هوية لا يعمل في localhost

لقد قمت بإعداد Discourse محليًا. الآن أحاول استخدام Discourse كموفر هوية. لقد اتبعت هذا الدليل

ولكنني أواجه خطأ

GET http://localhost:3000/session/sso_provider?sso=bm9uY2U9MWc3NlQyaHRVZTZTYzJENjVEbzlzUT09JnJldHVybl9zc29fdXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODA4MS9yZWRpcmVjdA%3D%3D&sig=abcdb4a453080b7bac871d1d8d660bc731cfbc2a26fc6013f19a848c0018461c 422 (Unprocessable Entity)

ملاحظة: العميل الذي يقوم بالطلب موجود على localhost والخادم Discourse موجود أيضًا على localhost.
حاولت البحث عن أسئلة مماثلة عبر الإنترنت ولكن لم أجد أي مساعدة. أقوم أيضًا بنشر كود Node.js الخاص بي كمرجع

app.get('/login', (req, res) => {
  let nonce = crypto.randomBytes(16).toString('base64');
  const payload = `nonce=${nonce}&return_sso_url=http://localhost:8081/redirect`
  const base64 = Buffer.from(payload).toString('base64')
  const URL_ENCODED_PAYLOAD = encodeURIComponent(base64)
  let hmac = crypto.createHmac('sha256', 'myrandomstring')
  hmac.update(URL_ENCODED_PAYLOAD)
  let HEX_SIGNATURE = hmac.digest('hex').toLowerCase()
  res.redirect(`http://localhost:3000/session/sso_provider?sso=${URL_ENCODED_PAYLOAD}&sig=${HEX_SIGNATURE}`)
})

هل يمكن لأحد مساعدتي في معرفة سبب عدم عمله؟ شكرًا

أنا متأكد من أنه يتطلب https وهو لا يعمل على المضيف المحلي.

@pfaffman يعمل على localhost. اتضح أن هناك خطأ من جهتي. ولكن الآن أواجه مشكلة عندما يتم توجيهي إلى صفحة discourse، أقوم بإدخال اسم المستخدم وكلمة المرور الخاصة بي وانقر على تسجيل الدخول، ولكنه لا يعيد توجيهي إلى موقعي. قرأت منشورًا مشابهًا هنا Discourse doesn't redirect to return_sso_url after user logs in on private site - #4 by simon ولكنهم قاموا بإصلاح هذه المشكلة لتسجيلات الدخول الاجتماعية (أعتقد أنها ليست للمصادقة باسم المستخدم وكلمة المرور). هل يمكنك مساعدتي في ذلك؟ شكرًا

إعجاب واحد (1)