أنا لست مطورًا، لذا لا أعرف حتى ما الذي يجب البحث عنه لإيجاد إجابة لسؤالي. أنا أختبر Discourse حاليًا، وقد شغل تفكيري كثيرًا طريقة تسجيل دخول المستخدمين.
في بداية فترة التجربة، كنت مقتنعًا بأن SSO هو المسار الذي سأختاره بمجرد انتهاء تجربتي، لكنني الآن لست متأكدًا. يبدو أنني سأفقد بعض ميزات Discourse الرائعة إذا فعّلت SSO (مثل ميزات الدعوة)، ولا أعرف ما إذا كانت الفوائد في حالتي تستحق ذلك.
هل من الممكن أن يستخدم منتداي حسابات Discourse المدمجة وحسابات موقعي في آن واحد؟ تمامًا كما يمكن إعداد خيارات “أو سجّل الدخول عبر Facebook/Google/Apple”؟
هل تعلم كيف أنه عندما يحاول المستخدم تسجيل الدخول أو إنشاء حساب، تظهر له حقول البريد الإلكتروني وكلمة المرور، ولكن على يمينها تُعطى له خيارات لتسجيل الدخول عبر Facebook أو Google أو غيرهما؟ هل يمكن ببساطة أن يكون حساب موقعي أحد هذه الخيارات على اليمين؟
لذا، إذا أراد المستخدم استخدام تسجيل الدخول الخاص بموقعي الرئيسي دون إنشاء حساب جديد خصيصًا للمنتدى، فيمكنه ذلك، لكنه لن يكون إلزاميًا.
هل هذا ممكن؟ وهل هو مستحسن؟ بمعنى، هل هناك أي أسباب تمنعني من اتباع هذا المسار؟ شكرًا!
أما إذا كنت تتحدث عن OAuth2 أو OpenID Connect أو أي من إضافات المصادقة الأخرى لدينا، فإن الإجابة نعم؛ يمكن استخدامها معًا، ومع تسجيل الدخول عبر البريد الإلكتروني وكلمة المرور.
أخبار جيدة في هذا الصدد - لقد أضفنا مؤخرًا دعم الدعوات لـ DiscourseConnect
يمكنك فعل ذلك من خلال تنفيذ OAuth2 على خادمك بحيث يعمل مثل Google وGitHub والأصدقاء الآخرين. (أو من خلال الاستعانة بشخص يقوم بذلك، نظرًا لأنك لست مطورًا.)
أنا متحمس لرؤية ميزة التوافق بين SSO والدعوات، لكنها لا تبدو تعمل من جهتي.
موقعي الرئيسي يعمل على WordPress وأستخدم إضافة WP Discourse لدمج التطبيقين. لدي أيضًا نموذج تسجيل يقوم بالتحقق من البريد الإلكتروني على WordPress، وقد كتبت كودًا مخصصًا لمنع Discourse من إرسال رسائل تحقق مكررة للمستخدمين عند التسجيل. قمت بتفعيل خيار must_approve_users في Discourse لمنع أي شخص من الوصول إلى المجتمع دون موافقة.
اتبعت الخطوات التالية، لكن المستخدم لم يُوافق عليه في النهاية. تمامًا كما كان من قبل.
دعوة المستخدم عبر عنوان بريده الإلكتروني
يفتح المستخدم دعوة البريد الإلكتروني ويضغط على الرابط
يتم توجيه المستخدم إلى صفحة Discourse غير المسجل فيها مع رسالة ترحيب ودعوة لاتخاذ إجراء (CTA) للمتابعة
عند الضغط على الدعوة، يتم نقل المستخدم إلى صفحة تسجيل الدخول على WordPress
بما أن المستخدم غير مسجل على WordPress، اضطررت لإنشاء حساب جديد له — وهو ما أعتقد أنه منطقي لأن WordPress لا يعرف أن Discourse قد دعا هذا المستخدم.
بعد التسجيل، أستلم رسالة تأكيد من WordPress. أضغط على الرابط في تلك الرسالة وأُوجَّه إلى صفحة تسجيل الدخول على WordPress.
بعد تسجيل الدخول إلى WordPress، أحاول الدخول إلى المجتمع لكنني لا أستطيع.
أذهب إلى حساب المسؤول وأتحقق من حالة المستخدم، وكما توقعت، حالتها “تحتاج إلى موافقة”. هذا هو الوضع نفسه تمامًا الذي كنت عليه قبل إرسال الدعوة.
ما الذي أفتقده هنا؟ هل هناك مسار آخر يجب اتباعه؟ هل يمكنني فقط دعوة المستخدمين المسجلين مسبقًا على WordPress؟ أبحث عن بعض التوجيه. شكرًا لك.