Pengaturan SSO

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

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.

Kartu SSO di halaman Integrations

Prasyarat

  1. 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.
  2. IdP yang mendukung OIDC dengan discovery — harus menyajikan /.well-known/openid-configuration di 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:

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 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:

FieldApa yang harus ditempel
Display NameLabel apa pun yang akan dikenali oleh 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 tidak aktif (at rest) dan tidak pernah dikembalikan ke browser setelah disimpan.

Okta

  1. Admin console → Applications → Create App Integration → metode login OIDC, tipe 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 server otorisasi 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 — salin Value secret tersebut segera
  4. Client ID = Application (client) ID di 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. 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

  1. Buka halaman login di jendela privat/penyamaran
  2. Klik Masuk dengan SSO dan masukkan email kerja di domain terverifikasi Anda
  3. Anda akan diarahkan ke IdP Anda; setelah autentikasi, Anda akan kembali ke InterMIND dalam keadaan login
  4. Login dicatat di log audit 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 yang diaktifkan yang cocok dengan domain email tersebut — periksa apakah domain sudah diverifikasi dan kartu SSO sudah disimpan
SSO login is not available: planPaket tim tidak lagi menyertakan 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-unsupportedTipe 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 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 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.