كيفية استخدام Discourse Connect (SSO) لتحديث الصورة الرمزية واسم المستخدم والاسم؟

لقد تمكنت من إعداد Discourse SSO على https://forum.mycoralapp.com

وأنا قادر على إنشاء المستخدم في المرة الأولى، مع البريد الإلكتروني والاسم واسم المستخدم والصورة الرمزية الخاصة بهم.

ولكن السؤال هو، كيف يمكنني تحديثهم بمجرد تغييرهم من جانبنا (في التطبيق)؟ أقوم بتسجيل الخروج وتسجيل الدخول باستخدام SSO، وإرسال اسم واسم مستخدم وصورة مختلفة، ولكن القديمة تظل كما هي. لقد قمت أيضًا بإلغاء تحديد هذه الأشياء في المسؤول، والتي تبدو وكأنها يجب أن تتجاوز على الأقل الصورة الرمزية، ولكن لا يحدث شيء:

هل الاسم واسم المستخدم متاحان دائمًا للتغيير؟ لماذا لم يتم ذكرهما بجانب “الصورة الرمزية”؟ من الناحية العملية، ومع ذلك، لا شيء يتغير.

إعجاب واحد (1)

هل يمكنك مشاركة رمز Discourse Connect الذي يعمل به تطبيقك؟ يبدو أنه لا يرسل المعلومات بالطريقة الصحيحة.

إعجابَين (2)

شيء كهذا: Here is some PHP code and you'd do similar for iOS and Android. Remember to intercept the URL request in WebView! · GitHub

إنه جيد بما يكفي لإنشاء الحساب، بالمعلومات الصحيحة. لكنه لا يتجاوزها لاحقًا عند تسجيل الدخول اللاحق.

وفقًا لهذا ، يتعين عليّ الدخول إلى تطبيق Rails وتعيين أشياء مثل SiteSetting.discourse_connect_overrides_avatar. لا أعرف ما إذا كان هذا بسبب أنها تعليمات قديمة، ولكن لوحة تحكم المسؤول لا تحتوي حتى على أشياء مثل “override name” و “override username”.

إعجابَين (2)

@EGreg هل وجدت حلاً لهذا بعد؟
أواجه نفس المشكلة مع استضافة ذاتية لـ discourse.
يبدو أن تسجيل الدخول عبر الدخول الموحد (SSO) لا يتجاوز اسم المستخدم للحسابات الموجودة قبل تطبيق الدخول الموحد (SSO)، على الرغم من تمكين إعداد “تجاوز اسم المستخدم”.

@pfaffman ساعدني وأعتقد أن الأمر نجح. يجب أن أتحقق مرة أخرى. جاي؟

إعجاب واحد (1)

عذراً. لا أعرف شيئاً عن كيفية ربط الحسابات الموجودة وما إذا كان سيتم إعادة تسميتها أم سأكون قد استجبت في الموضوع الآخر.

إعجاب واحد (1)

بالنظر إلى منشور 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.

3 إعجابات

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

إعجابَين (2)