Pengaturan SSO
Penyiapan SSO
Panduan ini ditujukan untuk admin IT yang menyambungkan penyedia identitas (IdP) perusahaan ke InterMIND. Setelah disiapkan, anggota masuk dari halaman login biasa: Masuk dengan SSO → email kerja → IdP Anda → kembali ke InterMIND. Untuk gambaran umum non-teknis, lihat halaman fitur Single Sign-On.
Tersedia di: paket Business dan Enterprise Dikonfigurasi oleh: pemilik tim atau admin Protokol: Hanya OpenID Connect (OIDC). SAML 2.0 tidak ditawarkan — Okta, Microsoft Entra ID, dan Google Workspace semuanya mendukung OIDC.

Prasyarat
- Domain yang terverifikasi — verifikasi domain email Anda melalui record DNS TXT terlebih dahulu (lihat Domain Management). Login SSO hanya menerima akun yang domain emailnya telah diverifikasi oleh tim Anda; ini adalah batas tenant.
- IdP yang mendukung OIDC dengan discovery — harus menyajikan
/.well-known/openid-configurationdi bawah Issuer URL. Okta, Microsoft Entra ID, dan Google semuanya melakukannya.
Apa yang harus didaftarkan di IdP Anda
Buat OIDC Web Application di IdP Anda dengan:
| Pengaturan | Nilai |
|---|---|
| Redirect URI (callback) | https://intermind.com/api/auth/sso/callback — juga ditampilkan di kartu SSO setelah Anda memilih OIDC |
| Grant type | Authorization Code (PKCE S256 digunakan secara otomatis) |
| Scopes | openid email profile |
ID token yang diterbitkan oleh IdP Anda harus menyertakan email pengguna, dan domain email tersebut harus merupakan salah satu dari domain terverifikasi Anda — jika tidak, login akan ditolak.
Kemudian isi kartu SSO di halaman Integrations:
| Field | Apa yang harus ditempel |
|---|---|
| Display Name | Label apa pun yang akan dikenali oleh anggota Anda |
| Issuer URL | Issuer IdP Anda — URL yang menyajikan /.well-known/openid-configuration |
| Authorization URL | authorization_endpoint dari dokumen discovery tersebut |
| Client ID / Client Secret | Dari aplikasi yang Anda daftarkan |
Client secret dienkripsi saat tidak aktif (at rest) dan tidak pernah dikembalikan ke browser setelah disimpan.
Okta
- Admin console → Applications → Create App Integration → metode login OIDC, tipe aplikasi Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - Tetapkan pengguna atau grup yang harus memiliki akses
- Salin Client ID dan Client Secret
- Di InterMIND: Issuer URL = URL organisasi Okta Anda (mis.
https://acme.okta.com, atau issuer server otorisasi Anda sepertihttps://acme.okta.com/oauth2/defaultjika Anda menggunakannya); Authorization URL =authorization_endpointdari<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Entra admin center → App registrations → New registration
- Platform Web, redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — salin Value secret tersebut segera
- Client ID = Application (client) ID di halaman Overview
- Pastikan ID token membawa email pengguna: Token configuration → Add optional claim → ID → email
- Di 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
Tidak perlu pendaftaran aplikasi. Di kartu SSO, pilih tipe penyedia Google Workspace dan simpan — anggota di domain terverifikasi Anda masuk dengan akun Google mereka dan secara otomatis bergabung dengan tim Anda. (Google juga dapat dihubungkan sebagai penyedia OIDC generik dengan issuer https://accounts.google.com jika Anda lebih suka kredensial klien yang eksplisit.)
Uji koneksi
- Buka halaman login di jendela privat/penyamaran
- Klik Masuk dengan SSO dan masukkan email kerja di domain terverifikasi Anda
- Anda akan diarahkan ke IdP Anda; setelah autentikasi, Anda akan kembali ke InterMIND dalam keadaan login
- Login dicatat di log audit tim (dapat diekspor dari halaman Users) sebagai
auth.logindengan metodesso
Pemecahan masalah
| Gejala | Penyebab |
|---|---|
| "SSO is not configured" setelah memasukkan email | Tidak ada konfigurasi SSO yang diaktifkan yang cocok dengan domain email tersebut — periksa apakah domain sudah diverifikasi dan kartu SSO sudah disimpan |
SSO login is not available: plan | Paket tim tidak lagi menyertakan SSO |
SSO login is not available: domain-not-verified | Domain masih menunggu verifikasi DNS |
SSO login is not available: config-incomplete | Client ID atau Client Secret hilang — simpan ulang kartu SSO |
SSO login is not available: type-unsupported | Tipe penyedia yang disimpan bukan salah satu yang diimplementasikan oleh alur login — hapus konfigurasi SSO dan buat lagi sebagai OIDC atau Google Workspace |
SSO IdP discovery failed | Issuer URL salah atau tidak menyajikan /.well-known/openid-configuration |
| "login session expired, start again" | Lebih dari 5 menit berlalu antara memulai login dan callback IdP |
| Login ditolak setelah IdP mengarahkan kembali | IdP mengembalikan email di luar domain terverifikasi Anda, atau tidak ada klaim email sama sekali (Entra: tambahkan klaim email opsional) |
Properti keamanan
Untuk kuesioner keamanan: alur SSO menggunakan Authorization Code dengan PKCE (S256), state, dan nonce; signature ID token divalidasi terhadap JWKS IdP, bersama dengan issuer dan audience; IdP hanya berwenang untuk domain yang diverifikasi melalui DNS — asersi untuk email lain tidak akan pernah menghasilkan sesi; OIDC client secret dienkripsi saat tidak aktif (at rest); setiap login SSO tercatat di log audit tim. Gerbang paket, domain, dan konfigurasi diterapkan di sisi server baik saat mulai login maupun saat callback.