إليك المشكلة التي أحاول حلها:
- لدي تطبيق ويب
Asp.netCore 3.1 مع Identity (وليس Identity Server - بعد) يعمل علىbeta.example.com. يمكن للمستخدمين التسجيل وإنشاء الملفات الشخصية وتسجيل الدخول باستخدام Google/FB وما إلى ذلك. نظام مصادقة/تفويضASP.netقياسي، دون تعديلات حقيقية على الكود. - لدي أيضًا منتدى Discourse يعمل تحت نطاق فرعي (
forumbeta.example.com).
أود أن يتم الاحتفاظ بمخزن المستخدمين في تطبيق dotnet core. سيكون التطبيق هو مزود الهوية. عندما يحاول المستخدم تسجيل الدخول إلى Discourse، يجب أن يطلب Discourse معلومات المستخدم (الاسم، البريد الإلكتروني، وربما سمات أخرى) من التطبيق. إذا كان المستخدم موجودًا في التطبيق وهو مسجل الدخول بالفعل، فيجب أن يقوم Discourse بتسجيل دخول المستخدم إلى Discourse والسماح له بالنشر. إذا لم يكن المستخدم موجودًا أو لم يكن مسجل الدخول، فيجب إعادة توجيهه إلى صفحة تسجيل الدخول/التسجيل في التطبيق لإنشاء حساب أو التسجيل - ثم إعادة توجيهه مرة أخرى إلى Discourse.
لقد قرأت الكثير حول هذا الموضوع، ويبدو أنني بحاجة إلى تثبيت وإعداد Identity Server 4 على تطبيق dotnet، مما سيمكنه من أن يكون مزود هوية. ثم، يبدو أنني بحاجة إما إلى:
- استخدام وظيفة SSO المدمجة في Discourse
أو - تثبيت إضافة Oauth2 في Discourse ثم تكوينها
أنا مشوش إلى حد ما في هذه النقطة وأود الحصول على مساعدة من ذوي الخبرة لتوجيهي حول كيفية المضي قدمًا. المعلومات على الويب قديمة إلى حد ما ولا أريد قضاء ساعات في اتباع طريق مسدود.