خدمة العملاء
تسجيل الدخول الموحد (SSO) لمنصة مراسلة العملاء: دليل OpenID Connect لفرق الدعم
الموظف الذي يقرأ محادثات العملاء طوال اليوم ينبغي أن يدخل بحساب الشركة لا بكلمة مرور منفصلة. يشرح هذا الدليل كيف يعمل SSO عبر OpenID Connect، وما الذي تقرره قبل تفعيله، وكيف تُعدّه على تثبيت MonoChat داخل بنيتك (on-premise).
فريق MonoChat آخر تحديث: 7 دقائق قراءة
في هذه الصفحة
يعني تسجيل الدخول الموحد (SSO) في منصة مراسلة العملاء أن يدخل موظفوك بحساب الشركة لدى موفّر الهوية، مثل Microsoft Entra ID أو Okta أو Keycloak أو AD FS أو Google Workspace، بدلًا من كلمة مرور منفصلة. والمعيار الذي يقوم عليه هو OpenID Connect (OIDC). على تثبيت MonoChat داخل بنيتك (on-premise) تُعدّه مرة واحدة للتثبيت كله، وتقصره على نطاقات البريد الإلكتروني لشركتك، ويمكنك جعله الطريقة الوحيدة للدخول.
لدى فرق الدعم سبب خاص للاهتمام بذلك. فحساب الموظف يفتح كل محادثة على WhatsApp وInstagram وMessenger يستطيع رؤيتها: أسماء وأرقام هواتف وتفاصيل طلبات، وأحيانًا أسئلة عن الصحة أو الدفع. ويجب أن يخضع هذا الحساب للقواعد نفسها التي تخضع لها بقية حسابات الشركة، وأن يتوقف عن العمل في اليوم الذي يغادر فيه صاحبه.
لماذا يهم تسجيل الدخول لفريق الدعم
لا تزال بيانات الاعتماد المسروقة أو المساء استخدامها أكثر الطرق شيوعًا للدخول إلى الشركات. فقد حلّل تقرير Verizon لعام 2025 عن اختراقات البيانات (Data Breach Investigations Report) نحو 12,195 اختراقًا مؤكدًا، ووجد أن إساءة استخدام بيانات الاعتماد (22%) واستغلال الثغرات (20%) كانا في مقدمة طرق الهجوم الأولى.
المنصة التي لها كلمات مرور خاصة بها تضيف إلى كل موظف مجموعة بيانات اعتماد أخرى: كلمة مرور أخرى قد تتكرر، وحسابًا آخر قد يُنسى عند مغادرة صاحبه، ودخولًا آخر لا تغطيه قواعد المصادقة متعددة العوامل (MFA) والوصول المشروط لديك. أما مع SSO فلا ترى المنصة كلمة المرور أصلًا. يتحقق موفّر الهوية منها، ويطبّق سياسات MFA والوصول لديك، ثم يخبر المنصة بمن دخل.
كيف يعمل تسجيل الدخول عبر OpenID Connect
OpenID Connect طبقة هوية فوق OAuth 2.0. والتدفق الذي يستخدمه MonoChat هو تدفق رمز التفويض (authorization code flow):
- ينقر الموظف زر SSO في صفحة الدخول، فيفتح MonoChat صفحة دخول موفّر الهوية في نافذة منبثقة.
- يسجّل الموظف دخوله هناك، مع MFA وسياساتك.
- يعيد موفّر الهوية المتصفح إلى MonoChat برمز يُستخدم مرة واحدة.
- يستبدل خادم MonoChat الرمز برمز الهوية (ID token) من خادم إلى خادم. ولا تمر الرموز عبر المتصفح.
- يتحقق MonoChat من رمز الهوية ويُدخل الموظف.
رمز الهوية، بعبارة مواصفة OpenID Connect، هو “a security token that contains Claims about the Authentication of an End-User”. ولا يقبله MonoChat إلا إذا:
- كان موقّعًا بأحد مفاتيح موفّر الهوية لديك، وتُقرأ من مستند الاكتشاف (
<issuer>/.well-known/openid-configuration) عند كل دخول؛ - كان مُصدره (
iss) هو المُصدر الذي ضبطته، وجمهوره (aud) هو معرّف العميل (client ID) الخاص بـ MonoChat، ولم يحن موعد انتهائه (exp) بعد؛ - حمل قيمة
nonceالتي أرسلها MonoChat مع الطلب، وهي تربط الرمز بهذا الدخول وتمنع إعادة استخدامه؛ - تضمّن عنوان البريد الإلكتروني للشخص، ولم يُشر موفّر الهوية إلى أن هذا العنوان غير موثّق.
ويستخدم الطلب أيضًا PKCE (S256) وقيمة state، ويظل طلب الدخول صالحًا 10 دقائق ويمكن استخدامه مرة واحدة.
قرّر هذه الأمور الخمسة قبل تفعيل SSO
| القرار | الخيارات | ما نقترحه لفريق دعم |
|---|---|---|
| من يحق له الدخول | كل النطاقات، أو نطاقات البريد الإلكتروني لشركتك فقط | اقصره على نطاقاتك |
| ما يحدث عند أول دخول | إنشاء الحساب، أو قبول المدعوين فقط | أنشئ الحسابات إذا كان موفّر الهوية لديك يتحكم أصلًا في من يعمل لديكم |
| الحسابات الموجودة | ربط SSO عند أول دخول إذا كان البريد موثّقًا، أو بعد دخول واحد بكلمة المرور | يتوقف على ما إذا كان موفّرك يرسل email_verified |
| طرق الدخول الأخرى | إبقاء كلمات المرور والدخول الاجتماعي، أو SSO فقط | SSO فقط، بعد أن يربط الجميع SSO |
| من يفتح مساحات عمل جديدة | أي شخص لديه حساب، أو أصحاب الدور المناسب فقط | عطّل فتح مساحات العمل المفتوح في التثبيت المؤسسي |
دوّن هذه القرارات قبل أن تغيّر أي إعداد. فهي الأسئلة التي سيطرحها فريق الأمن لديك، وإجاباتها تحدد الإعدادات التي تحتاجها.
إعداد SSO على تثبيت MonoChat داخل بنيتك
يُعدّ SSO للتثبيت كله في إعدادات الخادم، لا لكل مساحة عمل على حدة. والمرجع الكامل هو صفحة تسجيل الدخول الموحد في مركز المساعدة؛ وهذه خلاصة مختصرة.
1. سجّل MonoChat لدى موفّر الهوية
أنشئ تطبيق ويب مع سر العميل (client secret)، واضبط له:
- عنوان إعادة التوجيه (redirect URI)
https://<your MonoChat domain>/api/oauth/oidc/redirect؛ - منح رمز التفويض (authorization code grant)؛
- النطاقات (scopes)
openid email profile؛ - مصادقة العميل بإرسال السر عبر HTTP Basic (
client_secret_basic).
تأكد من أن رمز الهوية يتضمن المطالبة email، ودوّن معرّف العميل وسر العميل والمُصدر.
2. انسخ المُصدر (issuer) كما هو تمامًا
المُصدر هو قيمة issuer في مستند الاكتشاف لدى موفّرك. وهذه صيغه المعتادة:
| موفّر الهوية | المُصدر |
|---|---|
| Microsoft Entra ID | https://login.microsoftonline.com/<tenant id>/v2.0 |
| Okta | https://<your Okta domain>/oauth2/default أو https://<your Okta domain> |
| Keycloak | https://<your Keycloak host>/realms/<realm> |
| AD FS 2016 أو أحدث | https://<your AD FS host>/adfs |
| Google Workspace | https://accounts.google.com |
افتح <issuer>/.well-known/openid-configuration في المتصفح وانسخ القيمة حرفًا بحرف، بما في ذلك الشرطة المائلة الأخيرة إن وُجدت. يرفض MonoChat كل عملية دخول إذا اختلفت القيمتان، وهذا أكثر سبب شيوعًا لفشل التجربة الأولى.
3. أضف الإعدادات وأعد التشغيل
الجزء العام (المُصدر ومعرّف العميل ومسار إعادة التوجيه والنطاقات ونص الزر) يوضع تحت public.oauth.oidc؛ أما سر العميل فيوضع تحت oauth.oidc ويبقى على الخادم. وهناك خياران يحملان قراراتك من الجدول أعلاه:
autoCreateAccounts: trueينشئ حساب MonoChat عند أول دخول للشخص عبر SSO، حتى لو كان التسجيل بالدعوة فقط؛allowedEmailDomains: ["yourcompany.com"]يرفض كل عنوان على نطاق آخر. أما مع Google Workspace فيتحقق MonoChat من نطاق Workspace للحساب (المطالبةhd) بدلًا من عنوان البريد، لأن حساب Google الشخصي يمكن أن يستخدم عنوانًا على أي نطاق.
يظهر الزر بعبارة “تسجيل الدخول عبر SSO” بلغة كل شخص، أو بالنص الذي تحدده أنت، مثل “تسجيل الدخول عبر Northwind SSO”.
4. اجعل SSO الطريقة الوحيدة بأمان
عندما يربط الجميع SSO، اضبط طرق الدخول المسموح بها (public.auth.methods) على ["oidc"]. عندئذ لا تعرض صفحة الدخول سوى زر SSO، ويرفض الخادم الدخول بكلمة المرور وبالحسابات الاجتماعية. ويظل المستخدمون الجذر (root super users) قادرين على الدخول بكلمة المرور عبر /auth/signin?fallback=1، فلا يؤدي تعطّل موفّر الهوية إلى إغلاق التثبيت. ولمنع حسابات SSO الجديدة من فتح مساحات عمل خاصة بها، اضبط public.disableTenantCreation على true.
5. اختبر أربع حالات دخول
- شخص لديه حساب: تُغلق النافذة المنبثقة ويدخل مباشرة.
- شخص بلا حساب: يُنشأ الحساب، أو يُرفض الدخول إذا لم تفعّل إنشاء الحسابات.
- شخص من نطاق آخر: يُرفض، إذا قيّدت النطاقات.
- الدخول بكلمة المرور مع تفعيل SSO فقط: يُرفض، بينما يظل الدخول الاحتياطي للمستخدم الجذر يعمل.
الموظفون الحاليون: كيف تُربط الحسابات
تفعّل معظم الفرق SSO وموظفوها لديهم حسابات في MonoChat بالفعل. يربط MonoChat حساب SSO بحساب موجود له العنوان البريدي نفسه بإحدى طريقتين:
- تلقائيًا، عند أول دخول عبر SSO، إذا كان التثبيت يسمح بالدمج وكان رمز الهوية يفيد بأن العنوان موثّق (
email_verified: true). - بعد دخول واحد بكلمة المرور، في كل حالة أخرى: يطلب MonoChat من الشخص أن يدخل بكلمة المرور مرة واحدة ثم يربط SSO حينها. وقبول دعوة إلى مساحة عمل يربطه أيضًا.
لا يرسل Microsoft Entra ID وAD FS القيمة email_verified. ومع هذين الموفّرين أبقِ الدخول بكلمة المرور مسموحًا حتى يربط الجميع SSO، أو ادعُ الأشخاص من جديد، قبل أن تنتقل إلى SSO فقط.
SSO هو الهوية، والأدوار هي الوصول
تسجيل الدخول يمنح الشخص حسابًا، لا وصولًا إلى محادثاتك. يمكن أن ينتمي حساب MonoChat إلى عدة مساحات عمل، ويدخل الأشخاص قبل أن يختاروا إحداها. ولا يرى الشخص مساحة العمل إلا بعد أن تدعوه وتمنحه دورًا، والدور هو الذي يحدد القنوات والمحادثات والإعدادات التي يصل إليها. راجع أدوار وصلاحيات صندوق وارد الفريق لمعرفة كيف تُعدّها.
وهذا الفصل هو ما سيطلب المدقق أن يراه:
- المنضم الجديد: ينشئ موفّر الهوية الشخص، ويدعوه مسؤول مساحة العمل ويختار دوره.
- المنتقل: غيّر الدور أو مجموعة العمل في MonoChat؛ ولا يتغير تسجيل الدخول.
- المغادر: عطّل الشخص لدى موفّر الهوية، واحذفه من مساحة العمل في MonoChat.
حدود يجب أن تخطط لها
- تطبيق الجوال. لا يوفّر تطبيق MonoChat لنظامَي Android وiOS تسجيل الدخول الموحد حتى الآن. إذا كان SSO هو الطريقة الوحيدة، فلن يستطيع الموظفون الدخول من هواتفهم، لذا أبقِ طريقة أخرى لمستخدمي الجوال أو خطط لمناوبات على سطح المكتب فقط.
- تسجيل الخروج. تسجيل الخروج من MonoChat لا يُخرج الشخص من موفّر الهوية، وتسجيل الخروج من هناك لا يُخرجه من MonoChat بعد. تعطيل المغادر لدى موفّر الهوية يوقف عمليات الدخول الجديدة؛ فاحذفه من مساحة العمل أيضًا.
- الشبكة. يجب أن تصل متصفحات الأشخاص إلى
/api/oauth/oidc/authorizeومسار إعادة التوجيه، وأن يصل خادم MonoChat إلى مستند الاكتشاف ونقطة الرموز ومجموعة المفاتيح لدى موفّرك عبر HTTPS. وإذا كنت تقيّد التثبيت بعناوين IP أيضًا، فضع هذه المسارات في حسابك.
أين يقع SSO في MonoChat
يُضبط SSO في إعدادات الخادم لتثبيت كامل، ولذلك ينتمي اليوم إلى MonoChat داخل بنية العميل (on-premise): خيار Enterprise للفرق التي تشغّل المنصة على خوادمها، مع نموذج LLM وقاعدة بيانات متجهات (vector database) خاصين بها. وتشرح صفحة Enterprise هذا الخيار، وتغطي صفحة الأمان الوصول المبني على الأدوار وعزل مساحات العمل والشهادات. أما جانب البيانات في أي مشروع ذكاء اصطناعي، فراجع قائمة التحقق من خصوصية شات بوت الذكاء الاصطناعي.
وإن أردت تجربة المنتج نفسه أولًا، فخطة Basic المجانية على app.monochat.ai تمنحك موظفًا واحدًا وقناة واحدة.
المصادر
- OpenID Connect Core 1.0, OpenID Foundation، تم الاطلاع عليه في 4 نوفمبر 2026
- Verizon 2025 Data Breach Investigations Report announcement، تم الاطلاع عليه في 4 نوفمبر 2026
- مركز مساعدة MonoChat: Single Sign-On for an On-Premise Installation، تم الاطلاع عليه في 4 نوفمبر 2026
- سجل تغييرات MonoChat 3.8.43، 2 نوفمبر 2026
طبّق ذلك مع MonoChat