إعداد SSO
إعداد SSO
هذا الدليل مخصص لمسؤول تكنولوجيا المعلومات الذي يربط مزود هوية الشركة (IdP) بـ InterMIND. بعد الإعداد، يقوم الأعضاء بتسجيل الدخول من صفحة تسجيل الدخول العادية: تسجيل الدخول عبر SSO → البريد الإلكتروني للعمل → مزود الهوية الخاص بك → العودة إلى InterMIND. للحصول على نظرة عامة غير تقنية، راجع صفحة ميزة تسجيل الدخول الموحد.
متاح في: خطط Business و Enterprise يتم التكوين بواسطة: مالك الفريق أو المسؤول البروتوكول: OpenID Connect (OIDC) فقط. لا يتم تقديم SAML 2.0 — فكل من Okta و Microsoft Entra ID و Google Workspace يدعم OIDC.
المتطلبات المسبقة
- نطاق تم التحقق منه — تحقق من نطاق بريدك الإلكتروني عبر سجل DNS TXT أولاً (راجع إدارة النطاقات). يقبل تسجيل الدخول عبر SSO الحسابات التي تم التحقق من نطاق بريدها الإلكتروني من قبل فريقك فقط؛ وهذا هو حد المستأجر.
- مزود هوية (IdP) يدعم OIDC مع الاكتشاف — يجب أن يقدم
/.well-known/openid-configurationضمن عنوان URL للمُصدِر. كل من Okta و Microsoft Entra ID و Google يقومون بذلك.
ما يجب تسجيله في مزود الهوية (IdP) الخاص بك
أنشئ تطبيق ويب OIDC في مزود الهوية (IdP) الخاص بك بالمواصفات التالية:
| الإعداد | القيمة |
|---|---|
| عنوان URI لإعادة التوجيه (callback) | https://intermind.com/api/auth/sso/callback — يظهر أيضاً في بطاقة SSO بعد اختيار OIDC |
| نوع المنحة | رمز التفويض (يُستخدم PKCE S256 تلقائياً) |
| النطاقات (Scopes) | openid email profile |
يجب أن يتضمن رمز المعرّف (ID token) الذي يُصدره مزود الهوية (IdP) الخاص بك عنوان email للمستخدم، ويجب أن يكون نطاق البريد الإلكتروني أحد النطاقات التي تم التحقق منها — وإلا سيُرفض تسجيل الدخول.
ثم املأ بطاقة SSO في صفحة التكاملات:
| الحقل | ما يجب لصقه |
|---|---|
| اسم العرض | أي تسمية سيتعرف عليها أعضاؤك |
| عنوان URL للمُصدِر | مُصدِر مزود الهوية (IdP) الخاص بك — عنوان URL الذي يقدم /.well-known/openid-configuration |
| عنوان URL للتفويض | authorization_endpoint من مستند الاكتشاف ذلك |
| Client ID / Client Secret | من التطبيق الذي سجلته |
يتم تشفير سر العميل (Client Secret) أثناء التخزين ولا يُعاد إلى المتصفح أبداً بعد الحفظ.
Okta
- وحدة تحكم المسؤول → Applications → Create App Integration → طريقة تسجيل الدخول OIDC، نوع التطبيق Web Application
- عنوان URI لإعادة توجيه تسجيل الدخول:
https://intermind.com/api/auth/sso/callback - عيّن المستخدمين أو المجموعات الذين يجب أن يكون لديهم حق الوصول
- انسخ Client ID و Client Secret
- في InterMIND: عنوان URL للمُصدِر = عنوان URL لمؤسسة Okta الخاصة بك (مثل
https://acme.okta.com، أو مُصدِر خادم التفويض الخاص بك مثلhttps://acme.okta.com/oauth2/defaultإذا كنت تستخدم واحداً)؛ عنوان URL للتفويض =authorization_endpointمن<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- مركز إدارة Entra → App registrations → New registration
- المنصة Web، عنوان URI لإعادة التوجيه
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — انسخ Value للسر فوراً
- Client ID = Application (client) ID في صفحة النظرة العامة
- تأكد من أن رمز المعرّف (ID token) يحمل عنوان البريد الإلكتروني للمستخدم: Token configuration → Add optional claim → ID → email
- في InterMIND: عنوان URL للمُصدِر =
https://login.microsoftonline.com/<tenant-id>/v2.0؛ عنوان URL للتفويض =https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
Google Workspace
لا حاجة لتسجيل التطبيق. في بطاقة SSO، اختر نوع مزود Google Workspace واحفظ — يقوم الأعضاء على نطاقاتك التي تم التحقق منها بتسجيل الدخول بحساب Google الخاص بهم والانضمام إلى فريقك تلقائياً. (يمكن أيضاً ربط Google كمزود OIDC عام بعنوان مُصدِر https://accounts.google.com إذا كنت تفضل استخدام بيانات اعتماد العميل الصريحة.)
اختبار الاتصال
- افتح صفحة تسجيل الدخول في نافذة خاصة/مخفية
- انقر على تسجيل الدخول عبر SSO وأدخل بريداً إلكترونياً للعمل على نطاقك الذي تم التحقق منه
- يتم إعادة توجيهك إلى مزود الهوية (IdP) الخاص بك؛ بعد المصادقة، تعود إلى InterMIND مسجلاً الدخول
- يتم تسجيل تسجيل الدخول في سجل تدقيق الفريق (قابل للتصدير من صفحة المستخدمون) كـ
auth.loginبطريقةsso
استكشاف الأخطاء وإصلاحها
| العَرَض | السبب |
|---|---|
| "SSO is not configured" بعد إدخال البريد الإلكتروني | لا يوجد تكوين SSO مُفعّل يطابق نطاق البريد الإلكتروني هذا — تحقق من أن النطاق تم التحقق منه وأن بطاقة SSO محفوظة |
SSO login is not available: plan | لم تعد خطة الفريق تتضمن SSO |
SSO login is not available: domain-not-verified | لا يزال النطاق في انتظار التحقق من DNS |
SSO login is not available: config-incomplete | Client ID أو Client Secret مفقود — أعد حفظ بطاقة SSO |
SSO login is not available: type-unsupported | نوع المزود المخزن ليس من الأنواع التي ينفذها مسار تسجيل الدخول — احذف تكوين SSO وأنشئه مرة أخرى كـ OIDC أو Google Workspace |
SSO IdP discovery failed | عنوان URL للمُصدِر غير صحيح أو لا يقدم /.well-known/openid-configuration |
| "login session expired, start again" | مرت أكثر من 5 دقائق بين بدء تسجيل الدخول ورد الاتصال من مزود الهوية (IdP) |
| رفض تسجيل الدخول بعد إعادة التوجيه من مزود الهوية (IdP) | أعاد مزود الهوية (IdP) بريداً إلكترونياً خارج نطاقاتك التي تم التحقق منها، أو لا توجد مطالبة email على الإطلاق (Entra: أضف مطالبة البريد الإلكتروني الاختيارية) |
خصائص الأمان
لاستبيانات الأمان: يستخدم مسار SSO رمز التفويض مع PKCE (S256) و state و nonce؛ يتم التحقق من توقيع رمز المعرّف (ID token) مقابل JWKS لمزود الهوية (IdP)، بالإضافة إلى المُصدِر والجمهور؛ ومزود الهوية (IdP) هو المرجع الموثوق فقط للـ نطاقات التي تم التحقق منها عبر DNS — أي تأكيد لأي بريد إلكتروني آخر لا ينتج عنه جلسة أبداً؛ وسر عميل OIDC مشفّر أثناء التخزين؛ وكل تسجيل دخول عبر SSO يُسجَّل في سجل تدقيق الفريق. يتم تطبيق بوابات الخطة والنطاق والتكوين من جانب الخادم في كل من بدء تسجيل الدخول ورد الاتصال.