كيف يمكنني جعل Discourse يستخدم Asp.Net Core 3.1 webapp كموفر هوية

إليك المشكلة التي أحاول حلها:

  1. لدي تطبيق ويب Asp.net Core 3.1 مع Identity (وليس Identity Server - بعد) يعمل على beta.example.com. يمكن للمستخدمين التسجيل وإنشاء الملفات الشخصية وتسجيل الدخول باستخدام Google/FB وما إلى ذلك. نظام مصادقة/تفويض ASP.net قياسي، دون تعديلات حقيقية على الكود.
  2. لدي أيضًا منتدى Discourse يعمل تحت نطاق فرعي (forumbeta.example.com).

أود أن يتم الاحتفاظ بمخزن المستخدمين في تطبيق dotnet core. سيكون التطبيق هو مزود الهوية. عندما يحاول المستخدم تسجيل الدخول إلى Discourse، يجب أن يطلب Discourse معلومات المستخدم (الاسم، البريد الإلكتروني، وربما سمات أخرى) من التطبيق. إذا كان المستخدم موجودًا في التطبيق وهو مسجل الدخول بالفعل، فيجب أن يقوم Discourse بتسجيل دخول المستخدم إلى Discourse والسماح له بالنشر. إذا لم يكن المستخدم موجودًا أو لم يكن مسجل الدخول، فيجب إعادة توجيهه إلى صفحة تسجيل الدخول/التسجيل في التطبيق لإنشاء حساب أو التسجيل - ثم إعادة توجيهه مرة أخرى إلى Discourse.

لقد قرأت الكثير حول هذا الموضوع، ويبدو أنني بحاجة إلى تثبيت وإعداد Identity Server 4 على تطبيق dotnet، مما سيمكنه من أن يكون مزود هوية. ثم، يبدو أنني بحاجة إما إلى:

  1. استخدام وظيفة SSO المدمجة في Discourse
    أو
  2. تثبيت إضافة Oauth2 في Discourse ثم تكوينها

أنا مشوش إلى حد ما في هذه النقطة وأود الحصول على مساعدة من ذوي الخبرة لتوجيهي حول كيفية المضي قدمًا. المعلومات على الويب قديمة إلى حد ما ولا أريد قضاء ساعات في اتباع طريق مسدود.

@DotNetCoder هل نجحت في ذلك؟ أنا أواجه مشكلة مماثلة. سأكون سعيدًا جدًا برأيك في هذا الشأن.