روابط الدعوة (زر قبول الدعوة) مع SSO لا تعمل للإصدار المستقر v2.8.10

مرحباً فريق Discourse،

زر “قبول الدعوة” لا يعمل في الإصدار المستقر v.2.8.10. عند محاولة تسجيل الدخول عبر SSO، سيتم إعادة توجيهك ببساطة إلى صفحة الدعوة، ولن يفعل “قبول الدعوة” شيئاً. لا توجد أخطاء في وحدة التحكم تظهر أيضاً. هل يمكن لأحد المساعدة؟

أعتقد أن الأمر يتعلق بآخر تحديث: SECURITY: Fix invite link validation (stable) (#18818) · discourse/discourse@7e4e8c8 · GitHub

تحياتي

إعجابَين (2)

هل يمكنك تأكيد كيفية تكوين موقعك؟ لم تعمل الدعوات تاريخيًا مع تمكين تسجيل الدخول الموحد (SSO). قد يكون هذا تراجعًا ولكننا سنحتاج إلى معرفة المزيد.

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

مرحباً @Stephen،

شكراً لردك! ما هي المعلومات التي تحتاجها تحديداً؟ لدينا استضافة ذاتية على الفرع المستقر (v2.8.10) باستخدام إضافة discourse-saml مع Okta (SSO). قبل تحديث 2.8.10، كنا قادرين على إنشاء روابط دعوة للمجموعات وكانت تعمل، يقوم المستخدم بتسجيل الدخول عبر SSO ثم يتم إعادة توجيهه إلى الموضوع المحدد في إعداد الدعوة.

معلومات إضافية:

في الإصدار المستقر السابق v2.8.9، على domain.com/invites/invitecode:

  • كان سيتم تقديم المستخدم غير المسجل الدخول إلى شاشة تطلب منه تسجيل الدخول عبر SSO (Okta المحدد في إعدادات SAML في app.yml)، والتي ستعيد توجيهه إلى SSO لتسجيل الدخول/التسجيل، وبعد ذلك سيتم تنفيذ إجراءات الدعوة (إعادة التوجيه إلى الموضوع، الإضافة إلى المجموعة، وما إلى ذلك).

  • كان المستخدم المسجل الدخول سيتجاوز شاشة الدعوة تلقائيًا وسيتم تنفيذ إجراءات الدعوة.

في الإصدار المستقر الحالي v2.8.10، على domain.com/invites/invitecode:

  • سيتم تقديم كل من المستخدمين غير المسجلين الدخول والمسجلين الدخول إلى شاشة الدعوة مع زرين:
    – زر تسجيل الدخول عبر SSO
    – قبول الدعوة (هذا جديد)

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

لاحظنا في وحدة تحكم متصفح الشبكة وجود طلب PUT إلى domain.com/invites/show/invitecode.json والذي يُرجع خطأ 504 (فقط في الإصدار 2.8.10).

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

هل هناك فئة معينة يمكنني نقل هذا إليها حتى أتمكن من الإبلاغ عن هذه المشكلة؟

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

تأكد من أن لدينا رؤية للمشكلة، هل يمكنك بأي طريقة تأكيد أن هذه ليست مشكلة في tests-passed وتوجد فقط في stable في الوقت الحالي؟

إعجابَين (2)

مرحباً @sam ،

شكراً على الرد! يسعدني سماع أن لديك رؤية للمشكلة.

للأسف، ليس لدينا مثيل تم اجتيازه للاختبار مع SSO، حيث أننا التزمنا دائمًا بالاستقرار. لدي فرع تم اجتيازه للاختبار بدون SSO ولا توجد مشاكل هناك.

تعديل: سأجرب لمعرفة ما إذا كان بإمكاني تشغيل مثيل تم اجتيازه للاختبار مع SSO.

مرحباً @sam،

تمكنت من تشغيل نسخة tests-passed ولم تكن هناك مشكلة بالنسبة لي على tests-passed.
تمكنت من قبول الدعوات. آمل أن يساعد هذا!

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

مرحباً @sam!

هل هناك أي فرصة لإعادة إصدار النسخة المستقرة حتى يمكن إصلاحها على النسخة المستقرة؟

لقد رأيت أن Discourse قد حصل على تحديث: 2.8.11: Security Release

هل هناك أي فرصة أن يصلح هذا التحديث هذه المشكلة؟ :slight_smile:

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

نعم، سنقوم بالتحديث، شكراً جزيلاً على الإبلاغ، سنعلمك بمجرد الانتهاء. امنحنا أسبوعًا أو أسبوعين.

إعجابَين (2)

هذا رائع! شكراً @sam ! :raised_hands:

تعديل:
للعلم فقط للآخرين الذين قد يواجهون هذا:

الإصدار 2.8.11 من الإصدار المستقر لا يحل المشكلة. النقر على “قبول الدعوة” يظهر الآن خطأ في سجل وحدة التحكم:
PUT https://<DOMAIN>/invites/show/<INVITE_CODE>.json 404
عنوان URL بتنسيق .json يأخذك إلى:

// https://<DOMAIN>/invites/show/<INVITE_CODE>.json

{
  "errors": [
    "لم يتم العثور على عنوان URL أو المورد المطلوب."
  ],
  "error_type": "not_found"
}

مرحباً @hyphalos لقد بدأت في إلقاء نظرة على هذا اليوم. أنا غير مألوف مع إعداد SAML الخاص بنا لذا يرجى التحلي بالصبر معي.

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

3 إعجابات

مرحباً @martin!

شكراً على ردك. آسف على التأخير في الرد، كنت مريضاً.

لقد أجريت المزيد من الاختبارات وما لاحظته هو أنه بعد التحديث إلى v2.8.11، يمكن للأشخاص قبول دعوة مرة واحدة فقط بغض النظر عن إعدادات إنشاء الدعوة. لقد اختبرتها مع “الوصول إلى الموضوع”، وبدون “الوصول إلى الموضوع”، و"إضافة إلى المجموعة"، وبدون “إضافة إلى المجموعة”، وما إلى ذلك، ويمكن للأشخاص قبول الدعوات مرة واحدة فقط. هل هذا سلوك مقصود؟

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

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

إعجابَين (2)

نعم، هذا متوقع. ليس الخطأ، بل الجزء الذي لا يمكنهم فيه قبول الدعوة عدة مرات. ناقشنا هذا في New 'accept invitation' prompt feature causing issues with invitation links - #14 by martin حيث قمت بإصلاح، ولكني أرى الآن أنني سأحتاج إلى إعادة تطبيق هذا الإصلاح على stable أيضًا، مع الإشارة إلى @sam

إعجابَين (2)

مرحباً @martin ، هذا رائع، شكراً لك على التحقيق!

إعجابَين (2)

لقد ارتكبت هذا الإصلاح للتو في stable هنا:

إعجابَين (2)

مرحباً @martin!

شكراً مرة أخرى على الإصلاح!

لقد قمت بالتحديث إلى الإصدار 2.8.12 (والذي وفقًا لعلامة الالتزام في لوحة الإدارة يتضمن الإصلاحات) وأرى الآن رسالة خطأ (على حساب تجريبي) لمحاولة قبول دعوة سبق لي قبولها على الحساب التجريبي:

وهذا رائع!

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

تم إغلاق هذا الموضوع تلقائيًا بعد 4 أيام. لم يعد يُسمح بالردود الجديدة.