ولكن السؤال هو، كيف يمكنني تحديثهم بمجرد تغييرهم من جانبنا (في التطبيق)؟ أقوم بتسجيل الخروج وتسجيل الدخول باستخدام SSO، وإرسال اسم واسم مستخدم وصورة مختلفة، ولكن القديمة تظل كما هي. لقد قمت أيضًا بإلغاء تحديد هذه الأشياء في المسؤول، والتي تبدو وكأنها يجب أن تتجاوز على الأقل الصورة الرمزية، ولكن لا يحدث شيء:
إنه جيد بما يكفي لإنشاء الحساب، بالمعلومات الصحيحة. لكنه لا يتجاوزها لاحقًا عند تسجيل الدخول اللاحق.
وفقًا لهذا ، يتعين عليّ الدخول إلى تطبيق Rails وتعيين أشياء مثل SiteSetting.discourse_connect_overrides_avatar. لا أعرف ما إذا كان هذا بسبب أنها تعليمات قديمة، ولكن لوحة تحكم المسؤول لا تحتوي حتى على أشياء مثل “override name” و “override username”.
@EGreg هل وجدت حلاً لهذا بعد؟
أواجه نفس المشكلة مع استضافة ذاتية لـ discourse.
يبدو أن تسجيل الدخول عبر الدخول الموحد (SSO) لا يتجاوز اسم المستخدم للحسابات الموجودة قبل تطبيق الدخول الموحد (SSO)، على الرغم من تمكين إعداد “تجاوز اسم المستخدم”.
بالنظر إلى منشور OP في هذا الموضوع، أرى أن إعداد auth overrides username غير معروض على أنه ممكّن في لقطة الشاشة. يجب تمكين هذا الإعداد لكي يتجاوز DiscourseConnect اسم المستخدم. سيكون من الرائع لو جعلت صفحة الإعدادات توضح بشكل أكبر أن هذه الإعدادات الثلاثة مرتبطة بـ DiscourseConnect:
auth overrides email
auth overrides username
auth overrides name
أيضًا، تأكد من أن المستخدمين يسجلون الخروج من Discourse، ثم يسجلون الدخول مرة أخرى عبر DiscourseConnect. إذا لم يقوموا بتسجيل الخروج من Discourse، فلن يسري التغيير. يمكنك تجاوز هذه المشكلة عن طريق إجراء استدعاء API إلى المسار sync_sso نيابة عن المستخدم: Sync DiscourseConnect user data with the sync_sso route.
شكراً للجميع.
حاولت مرة أخرى باسم مستخدم مختلف ونجح الأمر.
افترضت أن الأمر يتعلق بقواعد أسماء مستخدمي ديسكورس. نظرًا لأن اسم المستخدم الجديد كان يبدأ بشرطة سفلية، فقد كان غير صالح وفقًا لقواعد ديسكورس، وقد يكون هذا هو السبب في عدم ظهوره في المنتدى.