إعداد SSO

اربط Okta أو Microsoft Entra ID أو Google Workspace حتى يتمكن فريقك من تسجيل الدخول عبر مزود الهوية الخاص بك.

إعداد SSO

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

متاح في: خطط Business و Enterprise يتم التكوين بواسطة: مالك الفريق أو المسؤول البروتوكول: OpenID Connect (OIDC) فقط. لا يتم تقديم SAML 2.0 — فكل من Okta و Microsoft Entra ID و Google Workspace يدعم OIDC.

المتطلبات المسبقة

  1. نطاق تم التحقق منه — تحقق من نطاق بريدك الإلكتروني عبر سجل DNS TXT أولاً (راجع إدارة النطاقات). يقبل تسجيل الدخول عبر SSO الحسابات التي تم التحقق من نطاق بريدها الإلكتروني من قبل فريقك فقط؛ وهذا هو حد المستأجر.
  2. مزود هوية (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

  1. وحدة تحكم المسؤول → Applications → Create App Integration → طريقة تسجيل الدخول OIDC، نوع التطبيق Web Application
  2. عنوان URI لإعادة توجيه تسجيل الدخول: https://intermind.com/api/auth/sso/callback
  3. عيّن المستخدمين أو المجموعات الذين يجب أن يكون لديهم حق الوصول
  4. انسخ Client ID و Client Secret
  5. في 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)

  1. مركز إدارة Entra → App registrations → New registration
  2. المنصة Web، عنوان URI لإعادة التوجيه https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — انسخ Value للسر فوراً
  4. Client ID = Application (client) ID في صفحة النظرة العامة
  5. تأكد من أن رمز المعرّف (ID token) يحمل عنوان البريد الإلكتروني للمستخدم: Token configuration → Add optional claim → ID → email
  6. في 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 إذا كنت تفضل استخدام بيانات اعتماد العميل الصريحة.)

اختبار الاتصال

  1. افتح صفحة تسجيل الدخول في نافذة خاصة/مخفية
  2. انقر على تسجيل الدخول عبر SSO وأدخل بريداً إلكترونياً للعمل على نطاقك الذي تم التحقق منه
  3. يتم إعادة توجيهك إلى مزود الهوية (IdP) الخاص بك؛ بعد المصادقة، تعود إلى InterMIND مسجلاً الدخول
  4. يتم تسجيل تسجيل الدخول في سجل تدقيق الفريق (قابل للتصدير من صفحة المستخدمون) كـ 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-incompleteClient 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 يُسجَّل في سجل تدقيق الفريق. يتم تطبيق بوابات الخطة والنطاق والتكوين من جانب الخادم في كل من بدء تسجيل الدخول ورد الاتصال.