Điều kiện tiên quyết
- Tên miền email đã xác minh, vai trò organization Owner và một gói đủ điều kiện. Xem Thiết lập single sign-on.
- Quyền admin trên nhà cung cấp danh tính, có quyền tạo ứng dụng OAuth hoặc OIDC.
Các giá trị trao đổi
CloudThinker yêu cầu các scope
openid, email và profile. CloudThinker đọc email của người dùng từ claim email (nếu không có thì dùng preferred_username) và tên từ given_name và family_name. CloudThinker không đọc group.
Cấu hình nhà cung cấp
Vào Admin Settings → Identity and access → Setup SSO, chọn OpenID Connect (OIDC) và nhấn Next. Bước IdP Config yêu cầu Display Name (nhãn bất kỳ, ví dụOkta OIDC), Issuer URL, Client ID và Client Secret.
- Okta
- Microsoft Entra ID
- Google
- Nhà cung cấp OIDC khác
1
Tạo ứng dụng OIDC
Trong Okta Admin Console, vào Applications → Applications → Create App Integration. Chọn OIDC - OpenID Connect và Web Application. Trong Grant type, giữ Authorization Code.
2
Thêm redirect URI
Trong Sign-in redirect URIs, dán redirect URI của CloudThinker. Gán người hoặc nhóm cần truy cập, rồi lưu.
3
Hoàn tất trong CloudThinker
Từ tab General của ứng dụng, sao chép Client ID và Client secret. Ở bước IdP Config, nhập:
- Issuer URL:
https://your-org.okta.com. Nếu dùng custom authorization server, hãy nhập issuer của server đó, ví dụhttps://your-org.okta.com/oauth2/default. - Client ID và Client Secret: từ ứng dụng Okta
Bài kiểm tra kết nối kiểm tra những gì
Trên Manage → Overview, Run connection test kiểm tra cấu hình mà không cần đăng nhập đầy đủ:
Kiểm tra không xác minh client secret hay redirect URI. Hãy đăng nhập thật để xác nhận hai giá trị này.
Điều xảy ra ở lần đăng nhập đầu tiên
OIDC tuân theo cùng quy tắc như SAML:Xoay vòng client secret
CloudThinker lưu một client secret. Hầu hết IdP, bao gồm Entra ID và Okta, cho phép hai secret cùng hợp lệ, nên bạn có thể xoay vòng mà không gián đoạn:1
Tạo secret mới trong IdP
Thêm client secret thứ hai vào ứng dụng CloudThinker. Giữ nguyên secret cũ.
2
Lưu trong CloudThinker
Mở Manage → Configuration trên thẻ Single sign-on, dán giá trị mới vào Client Secret và nhấn Save Changes.
3
Kiểm tra, rồi xóa secret cũ
Đăng nhập qua SSO trong một cửa sổ riêng tư. Khi đăng nhập thành công, xóa secret cũ trong IdP.
Khắc phục sự cố
'Redirect URI mismatch' từ nhà cung cấp
'Redirect URI mismatch' từ nhà cung cấp
Redirect URI trong nhà cung cấp phải khớp chính xác với
https://<your-cloudthinker-api-host>/api/v1/sso/oidc/callback, bao gồm https:// và toàn bộ đường dẫn. Dùng mẹo ở trên để xác nhận host.Issuer Match thất bại
Issuer Match thất bại
Sao chép giá trị
issuer trực tiếp từ tài liệu discovery của nhà cung cấp. Lỗi thường gặp: dán toàn bộ địa chỉ .well-known/openid-configuration, hoặc bỏ sót /v2.0 với Entra ID.Discovery Reachable thất bại
Discovery Reachable thất bại
CloudThinker phải truy cập được issuer qua internet công cộng. Với issuer nằm trong mạng riêng hoặc sau VPN, CloudThinker không thể đọc được tài liệu discovery.
'Invalid client' hoặc đăng nhập thất bại ngay sau IdP
'Invalid client' hoặc đăng nhập thất bại ngay sau IdP
Kiểm tra Client ID và Client Secret. Secret hết hạn là nguyên nhân thường gặp trên Entra ID. Làm theo Xoay vòng client secret.
Đăng nhập thất bại vì không trả về email
Đăng nhập thất bại vì không trả về email
Nhà cung cấp không trả về claim
email hoặc preferred_username. Cho phép scope email cho ứng dụng và đảm bảo người dùng có địa chỉ email trong thư mục.'SSO authentication failed. Please try again or contact your administrator.'
'SSO authentication failed. Please try again or contact your administrator.'
CloudThinker từ chối ID token hoặc quá trình trao đổi token. Kiểm tra Issuer URL khớp với tài liệu discovery, client secret còn hiệu lực, và IdP chấp nhận
client_secret_post cùng PKCE cho client này.Bước tiếp theo
Kiểm tra và bắt buộc SSO
Đăng nhập thử, chọn provisioning và bật Require SSO
SCIM provisioning
Tự động đồng bộ người dùng và group từ IdP