Thiết lập SSO

Kết nối Okta, Microsoft Entra ID hoặc Google Workspace để nhóm của bạn đăng nhập thông qua nhà cung cấp danh tính của bạn.

Thiết lập SSO

Hướng dẫn này dành cho quản trị viên IT kết nối nhà cung cấp danh tính (IdP) của công ty với InterMIND. Sau khi thiết lập, các thành viên đăng nhập từ trang đăng nhập thông thường: Đăng nhập bằng SSO → email công việc → IdP của bạn → trở lại InterMIND.

Có sẵn trên: gói Business và Enterprise Được cấu hình bởi: chủ sở hữu nhóm hoặc quản trị viên Giao thức: OpenID Connect (OIDC). Đăng nhập SAML 2.0 đang được phát triển — cấu hình SAML được lưu trữ nhưng chưa thể dùng để đăng nhập.

Điều kiện tiên quyết

  1. Một tên miền đã xác minh — xác minh tên miền email của bạn qua bản ghi DNS TXT trước (xem Quản lý tên miền). Đăng nhập SSO chỉ chấp nhận các tài khoản có tên miền email mà nhóm của bạn đã xác minh; đây là ranh giới tenant.
  2. Một IdP hỗ trợ OIDC với discovery — phải phục vụ /.well-known/openid-configuration dưới Issuer URL. Okta, Microsoft Entra ID và Google đều hỗ trợ.

Những gì cần đăng ký trong IdP của bạn

Tạo một OIDC Web Application trong IdP của bạn với:

Thiết lậpGiá trị
Redirect URI (callback)https://intermind.com/api/auth/sso/callback — cũng hiển thị trong thẻ SSO sau khi bạn chọn OIDC
Loại GrantAuthorization Code (PKCE S256 được sử dụng tự động)
Scopesopenid email profile

ID token mà IdP của bạn cấp phải bao gồm email của người dùng, và tên miền của email phải nằm trong số các tên miền đã được xác minh của bạn — nếu không, việc đăng nhập sẽ bị từ chối.

Sau đó điền vào thẻ SSO trên trang Integrations:

TrườngNội dung cần dán
Display NameBất kỳ nhãn nào mà các thành viên của bạn có thể nhận ra
Issuer URLIssuer của IdP — URL phục vụ /.well-known/openid-configuration
Authorization URLauthorization_endpoint từ tài liệu discovery đó
Client ID / Client SecretTừ ứng dụng bạn đã đăng ký

Client secret được mã hóa khi lưu trữ và không bao giờ được trả về trình duyệt sau khi lưu.

Okta

  1. Bảng điều khiển quản trị → Applications → Create App Integration → phương thức đăng nhập OIDC, loại ứng dụng Web Application
  2. Sign-in redirect URI: https://intermind.com/api/auth/sso/callback
  3. Gán người dùng hoặc nhóm cần được cấp quyền truy cập
  4. Sao chép Client IDClient Secret
  5. Trong InterMIND: Issuer URL = URL tổ chức Okta của bạn (ví dụ https://acme.okta.com, hoặc issuer của máy chủ ủy quyền của bạn như https://acme.okta.com/oauth2/default nếu bạn dùng); Authorization URL = authorization_endpoint từ <issuer>/.well-known/openid-configuration

Microsoft Entra ID (Azure AD)

  1. Trung tâm quản trị Entra → App registrations → New registration
  2. Nền tảng Web, redirect URI https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — sao chép Value của secret ngay lập tức
  4. Client ID = Application (client) ID trên trang Overview
  5. Đảm bảo ID token mang email của người dùng: Token configuration → Add optional claim → ID → email
  6. Trong InterMIND: Issuer URL = https://login.microsoftonline.com/<tenant-id>/v2.0; Authorization URL = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize

Google Workspace

Không cần đăng ký ứng dụng. Trong thẻ SSO chọn loại nhà cung cấp Google Workspace và lưu — các thành viên có tên miền đã xác minh của bạn đăng nhập bằng tài khoản Google của họ và tham gia nhóm của bạn tự động. (Google cũng có thể được kết nối như một nhà cung cấp OIDC chung với issuer https://accounts.google.com nếu bạn muốn dùng thông tin xác thực client tường minh.)

Kiểm tra kết nối

  1. Mở trang đăng nhập trong cửa sổ riêng tư/ẩn danh
  2. Nhấp Đăng nhập bằng SSO và nhập email công việc trên tên miền đã xác minh của bạn
  3. Bạn được chuyển hướng đến IdP của bạn; sau khi xác thực, bạn quay lại InterMIND đã đăng nhập
  4. Việc đăng nhập được ghi lại trong nhật ký kiểm toán của nhóm (có thể xuất từ trang Users) dưới dạng auth.login với phương thức sso

Khắc phục sự cố

Triệu chứngNguyên nhân
"SSO is not configured" sau khi nhập emailKhông có cấu hình SSO nào được kích hoạt khớp với tên miền email đó — kiểm tra xem tên miền đã được xác minh và thẻ SSO đã được lưu chưa
SSO login is not available: planGói của nhóm không còn bao gồm SSO
SSO login is not available: domain-not-verifiedTên miền vẫn đang chờ xác minh DNS
SSO login is not available: config-incompleteThiếu Client ID hoặc Client Secret — lưu lại thẻ SSO
SSO login is not available: type-unsupportedCấu hình được lưu là SAML — đăng nhập SAML chưa khả dụng
SSO IdP discovery failedIssuer URL sai hoặc không phục vụ /.well-known/openid-configuration
"login session expired, start again"Đã quá 5 phút trôi qua giữa lúc bắt đầu đăng nhập và callback của IdP
Đăng nhập bị từ chối sau khi IdP chuyển hướng trở lạiIdP đã trả về email ngoài các tên miền đã xác minh của bạn, hoặc hoàn toàn không có claim email (Entra: thêm claim email tùy chọn)

Thuộc tính bảo mật

Dành cho các bảng câu hỏi bảo mật: luồng SSO là Authorization Code với PKCE (S256), state, và nonce; chữ ký của ID token được xác thực dựa trên JWKS của IdP, cùng với issuer và audience; IdP chỉ có thẩm quyền đối với các tên miền được xác minh qua DNS — một assertion cho bất kỳ email nào khác sẽ không bao giờ tạo ra phiên đăng nhập; client secret OIDC được mã hóa khi lưu trữ; mỗi lần đăng nhập SSO đều được ghi vào nhật ký kiểm toán của nhóm. Các cổng kiểm soát về gói, tên miền và cấu hình được thực thi ở phía máy chủ cả khi bắt đầu đăng nhập và tại callback.