Konfigurasi SSO

Hubungkan Okta, Microsoft Entra ID, atau Google Workspace agar tim Anda masuk melalui penyedia identitas Anda.

Konfigurasi SSO

Panduan ini ditujukan untuk admin IT yang menghubungkan penyedia identitas (IdP) perusahaan ke InterMIND. Setelah konfigurasi, anggota masuk dari halaman login biasa: Sign in with SSO → email kerja → IdP Anda → kembali ke InterMIND.

Tersedia pada: paket Business dan Enterprise Dikonfigurasi oleh: pemilik atau admin tim Protokol: OpenID Connect (OIDC). Login SAML 2.0 sedang dikembangkan — konfigurasi SAML disimpan tetapi belum dapat digunakan untuk masuk.

Prasyarat

  1. Domain terverifikasi — verifikasi domain email Anda melalui catatan DNS TXT terlebih dahulu (lihat Manajemen Domain). Login SSO hanya menerima akun yang domain emailnya telah diverifikasi oleh tim Anda; inilah batas tenant.
  2. IdP yang mendukung OIDC dengan discovery — harus menyajikan /.well-known/openid-configuration di bawah Issuer URL. Okta, Microsoft Entra ID, dan Google semuanya mendukungnya.

Yang perlu didaftarkan di IdP Anda

Buat OIDC Web Application di IdP Anda dengan:

PengaturanNilai
Redirect URI (callback)https://intermind.com/api/auth/sso/callback — juga ditampilkan di kartu SSO setelah Anda memilih OIDC
Grant typeAuthorization Code (PKCE S256 digunakan secara otomatis)
Scopesopenid email profile

ID token yang diterbitkan IdP Anda harus menyertakan email pengguna, dan domain email tersebut harus salah satu dari domain yang telah Anda verifikasi — jika tidak, login akan ditolak.

Kemudian isi kartu SSO pada halaman Integrations:

BidangYang harus ditempel
Display NameLabel apa pun yang akan dikenali anggota Anda
Issuer URLIssuer IdP Anda — URL yang menyajikan /.well-known/openid-configuration
Authorization URLauthorization_endpoint dari dokumen discovery tersebut
Client ID / Client SecretDari aplikasi yang Anda daftarkan

Client secret dienkripsi saat disimpan dan tidak pernah dikembalikan ke peramban setelah penyimpanan.

Okta

  1. Konsol admin → Applications → Create App Integration → metode login OIDC, jenis aplikasi Web Application
  2. Sign-in redirect URI: https://intermind.com/api/auth/sso/callback
  3. Tetapkan pengguna atau grup yang harus memiliki akses
  4. Salin Client ID dan Client Secret
  5. Di InterMIND: Issuer URL = URL organisasi Okta Anda (mis. https://acme.okta.com, atau issuer authorization server Anda seperti https://acme.okta.com/oauth2/default jika Anda menggunakannya); Authorization URL = authorization_endpoint dari <issuer>/.well-known/openid-configuration

Microsoft Entra ID (Azure AD)

  1. Entra admin center → App registrations → New registration
  2. Platform Web, redirect URI https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — segera salin Value dari secret tersebut
  4. Client ID = Application (client) ID pada halaman Overview
  5. Pastikan ID token membawa email pengguna: Token configuration → Add optional claim → ID → email
  6. 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. Pada kartu SSO, pilih jenis penyedia Google Workspace dan simpan — anggota pada domain terverifikasi Anda masuk dengan akun Google mereka dan otomatis bergabung dengan tim Anda. (Google juga dapat dihubungkan sebagai penyedia OIDC generik dengan issuer https://accounts.google.com jika Anda lebih memilih kredensial klien eksplisit.)

Uji koneksi

  1. Buka halaman login di jendela privat/incognito
  2. Klik Sign in with SSO dan masukkan email kerja pada domain terverifikasi Anda
  3. Anda diarahkan ke IdP Anda; setelah autentikasi, Anda kembali ke InterMIND dalam keadaan masuk
  4. Login tercatat di audit log tim (dapat diekspor dari halaman Users) sebagai auth.login dengan metode sso

Pemecahan masalah

GejalaPenyebab
"SSO is not configured" setelah memasukkan emailTidak ada konfigurasi SSO aktif yang cocok dengan domain email tersebut — periksa apakah domain sudah terverifikasi dan kartu SSO telah disimpan
SSO login is not available: planPaket tim tidak lagi mencakup SSO
SSO login is not available: domain-not-verifiedDomain masih menunggu verifikasi DNS
SSO login is not available: config-incompleteClient ID atau Client Secret hilang — simpan ulang kartu SSO
SSO login is not available: type-unsupportedKonfigurasi yang tersimpan adalah SAML — login SAML belum tersedia
SSO IdP discovery failedIssuer 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 kembaliIdP 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 adalah Authorization Code dengan PKCE (S256), state, dan nonce; tanda tangan ID token divalidasi terhadap JWKS IdP, beserta issuer dan audience; IdP hanya berwenang untuk domain yang diverifikasi melalui DNS — assertion untuk email lain mana pun tidak akan menghasilkan sesi; client secret OIDC dienkripsi saat disimpan; setiap login SSO masuk ke audit log tim. Gerbang paket, domain, dan konfigurasi diberlakukan di sisi server baik pada awal login maupun pada callback.