أنا سعيد باستخدام SSO وواجهة برمجة تطبيقات Discourse على موقعي. الآن أريد توسيع نطاقها بشكل أكبر، من خلال تمكين جميع المجموعات الموجودة لدي من إنشاء منتدى فرعي خاص داخل منتدى Discourse الخاص بي (لقد كتبت للتو دليلاً حول ذلك، نظرًا لأن معظم واجهات برمجة التطبيقات المعنية غير موثقة جيدًا). ومع ذلك، يثير هذا المشكلة أن ليس جميع مستخدميني قد سجّلوا الدخول إلى المنتدى حتى الآن، وتسجيل الدخول يتم حصريًا عبر SSO، لذا فمن المرجح أن بعض أعضاء المجموعات لا يملكون أسماء مستخدمين في المنتدى. من أجل تمكين تعيينهم إلى مجموعة منتدى معينة على أي حال، أود إنشاء حسابات المستخدمين مسبقًا. كيف أفعل ذلك؟ أعني، توجد واجهة برمجة تطبيقات لإنشاء مستخدمين في Discourse، ولكن كيف يمكنني ضمان أنه، إذا قمت بإنشاء حساب لـ Mark، فعندما يسجّل Mark الدخول إلى المنتدى في النهاية، يقوم SSO بتسجيل دخوله إلى الحساب الذي أنشأته له وليس حسابًا جديدًا؟ شكرًا!
يتم مطابقة مستخدمين SSO عن طريق external_id، وإذا لم يكن موجودًا أو لا يتطابق، يتم المطابقة عن طريق عنوان البريد الإلكتروني.
لذلك، إذا تأكدت من تطابق أحد هذين العنصرين (يفضل external_id)، فستكون الأمور على ما يرام.
اتضح أن مسار POST /users كان مستحيلاً، وقد احتجت إلى Sync DiscourseConnect user data with the sync_sso route وهو أكثر تعقيدًا بكثير، دون سبب وجيه. على أي حال، تم الإنجاز.