البحث عن تسجيل دخول Slack / SSO لـ Discourse

هل من الممكن إضافة Slack كخيار لتسجيل الدخول الموحد (SSO) في Discourse؟

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

يقدّر Slack SAML لتسجيل الدخول الموحد (SSO)، ولكن فقط لعملاء خطط Plus أو Enterprise:

هل أنت على أحد هذه المستويات؟

يوجد بالفعل إضافة SAML رسمية هنا:

هذا المقال يتحدث عن كيفية استخدام Slack كعميل لتسجيل الدخول الموحد (SSO).
هناك ميزة “تسجيل الدخول باستخدام Slack” التي تستخدم بروتوكول OAuth2: Using Sign in with Slack | Slack Developer Docs على الرغم من أنني لم أجربها من قبل.

هدفي هو إضافة Screen Shot 2020-04-22 at 2.56.25 PM

تبدو وثائق تسجيل الدخول مثالية كإضافة ممتازة جديدة لمنصة Discourse. لقد قمت بتفعيل تكامل الدردشة، وهو أمر رائع أيضًا. لكنني أشعر بأنني غير مؤهل قليلاً حول كيفية إضافة هذا الزر كخيار مخصص مع اختبارات Discourse المارة (tests-pass). بمجرد حل هذه المسألة، سيتكامل تسجيل الدخول الاجتماعي هذا بشكل جميل مع خيارات تسجيل الدخول الاجتماعي المماثلة مثل Github وPatreon.

باتباع الوثائق، قمت بإنشاء تطبيق مع وصول Oauth في Slack… والآن عند هذه الخطوة لإنشاء الزر.

ما يعرضه Slack:

معرف التطبيق
معرف العميل
سر التوقيع
سر العميل
رمز التحقق
رمز وصول Oauth
تمت إضافة redirect url كـ https://example.domain.com/slack/auth

الخيارات التي أراها في Discourse هي:

enable sso provider
sso url – عنوان URL لنقطة نهاية تسجيل الدخول الموحد (يجب أن يتضمن http:// أو https://)
sso secret – سلسلة سرية تُستخدم لمصادقة معلومات SSO تشفيريًا، تأكد من أنها تتكون من 10 أحرف أو أكثر

أحاول الإعداد باستخدام هذه الوثائق:

يدعم Slack النطاقات التالية:
identity.avatar - عرض صورة الملف الشخصي الخاصة بالمستخدم على Slack
identity.basic - عرض معلومات حول هوية المستخدم
identity.email - عرض عنوان البريد الإلكتروني للمستخدم
identity.team - عرض اسم مساحة العمل الخاصة بالمستخدم على Slack

سيكون من الجيد عرض صورة الملف الشخصي الخاصة بمستخدم Slack وربما اسم مساحة العمل أيضًا. يبدو أن الوصول إلى بريدهم الإلكتروني سيكون مفيدًا أيضًا نظرًا لأهميته الحاسمة عند استخدام Discourse.

حسناً، يبدو أن تفعيل SSO في ذلك الدليل سيتجاوز تماماً جميع إعدادات تسجيل الدخول/التسجيل الأخرى.

تمكنت من جعل SSO من Slack يعمل باستخدام:
سلسلة SSO = https://slack.com/oauth/v2/authorize?user_scope=identity.basic&client_id=EXAMPLE
سر SSO = سر العميل

لكنني أريد فقط إضافته كزر. أقدر أي اقتراحات حول كيفية تنفيذ هذا الزر في Discourse! :+1:
Screen Shot 2020-04-22 at 2.56.25 PM

أبحث الآن عن كيفية إضافة الزر عبر

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

جميع القطع موجودة، لكنني لم أستطع فهم الأمر في ذلك الوقت. مرّ بعض الوقت، وأقول جربها! استخدم لوحة OAuth الخاصة بـ Slack بصفتك مسؤولًا وحاول إضافتها إلى Discourse.