المصادقة باستخدام منطق طرف ثالث (مخصص)

أحاول كتابة إضافة تسمح بتسجيل الدخول إلى Discourse باستخدام منطق “مخصص”.
بدون اسم مستخدم وكلمة مرور، ربما رقم تعريف شخصي (PIN) أو رمز لمرة واحدة تقوم بتوليده.
أنا مستعد لكتابة المنطق وما إلى ذلك، لكنني جديد في تطوير Discourse، لذا أحاول فهم ما إذا كان ذلك ممكنًا.

لقد راجعت معظم إضافات المصادقة المتاحة، ومعظمها يستخدم ببساطة مكتبة جاهزة (Gem) مع 10-20 سطرًا من الكود لجعلها تعمل.
وهذا رائع، لكن في حالتي أحتاج إلى منطق مخصص تمامًا.

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

كان الهدف هو توظيف نفس الوظيفة التي تحصل عليها عند إضافة حسابات أخرى (مثل Google وFacebook وما إلى ذلك).
فقط أضف حسابًا “مرتبطًا” آخر يمكنك المصادقة ضده. علاقة واحد لواحد بين مستخدم Discourse و"الرمز" الخاص بي (إذا كان ذلك يساعد).

هذه تمارين تعلم؛ لدي مجتمع Discourse نشط للغاية، وأود حقًا أن أتمكن من المساهمة.

شكرًا لك!

ربما يمكنك استخدام خدمة توفر نوع المصادقة التي تبحث عنها، لكنها تتواصل مع Discourse باستخدام بروتوكول قياسي؟ (مثل OpenID Connect؟)

هل هذه الطريقة البديلة مخصصة للربط بحسابات المستخدمين الموجودة، أم أنها شكل من أشكال تسجيل الدخول المجهول المأذون به؟ إذا كانت مرتبطة بحساب موجود، فقد ترغب في استخدام خدمة هوية خارجية مثل Keycloak؟ حسب علمي يمكنها دعم OTP (كلمة المرور لمرة واحدة) ومجموعة متنوعة من الطرق الأخرى. قد لا تكون أسهل على الرغم من ذلك.