Integrasi Okta SSO & SCIM untuk Platform Kesehatan & Kesejahteraan Perusahaan
Sebuah platform SaaS kesehatan dan kesejahteraan perusahaan perlu mendukung pelanggan organisasi besar yang membutuhkan Single Sign-On (SSO) untuk akses karyawan yang lancar dan penyediaan/depenyediaan pengguna otomatis melalui SCIM โ persyaratan yang tidak dapat ditawar untuk penjualan perusahaan.
Diskusikan Proyek Anda
Tantangan
Pelanggan perusahaan menolak mengadopsi platform tanpa federasi identitas dan manajemen siklus hidup otomatis:
- Persyaratan SSO โ Departemen IT mewajibkan karyawan untuk masuk melalui penyedia identitas perusahaan mereka, bukan dengan kredensial terpisah
- Beban Kerja Orientasi Manual โ Menambahkan ratusan karyawan secara manual saat organisasi baru mendaftar membutuhkan waktu berhari-hari kerja admin
- Risiko Pemberhentian Karyawan โ Ketika karyawan meninggalkan organisasi, akun platform mereka tetap aktif selama berminggu-minggu, menciptakan masalah kepatuhan dan akses data
- Akses Berbasis Grup โ Kelompok karyawan yang berbeda membutuhkan tingkatan fitur dan akses program yang berbeda
- Kompleksitas Multi-Tenant โ Setiap pelanggan perusahaan memiliki tenant penyedia identitas mereka sendiri dengan konfigurasi, pemetaan atribut, dan struktur grup yang berbeda
- Koeksistensi Autentikasi yang Ada โ Platform sudah memiliki autentikasi berbasis email/kata sandi dan OAuth; SSO perlu berdampingan tanpa merusak alur yang ada
Solusi Kami
Kami mengimplementasikan Okta SSO melalui SAML 2.0/OIDC untuk autentikasi dan SCIM 2.0 untuk penyediaan, depenyediaan, dan sinkronisasi grup pengguna otomatis โ terintegrasi ke dalam backend multi-tenant yang ada.
Arsitektur
- Penyedia Identitas: Okta (tenant yang dikelola pelanggan)
- Protokol SSO: SAML 2.0 (utama) + OIDC (alternatif)
- Penyediaan: server SCIM 2.0 yang dibangun di backend platform
- Backend: NestJS dengan PostgreSQL dan Redis
- Lapisan Autentikasi: Sesi berbasis JWT dengan penerbitan token yang sadar SSO
- Dasbor Admin: Konfigurasi tenant berbasis React untuk pengaturan SSO
- Autentikasi yang Ada: Email/kata sandi + Google OAuth dipertahankan bersama SSO
---
Implementasi SSO (SAML 2.0 / OIDC)
Alur SAML 2.0
Alur SAML yang dimulai oleh SP bekerja sebagai berikut: pengguna mengunjungi halaman login dan memilih SSO, memasukkan domain email perusahaan mereka, platform mengidentifikasi konfigurasi Okta tenant dari domain tersebut, mengirimkan AuthnRequest ke Okta, pengguna melakukan autentikasi, Okta mengembalikan SAML assertion yang ditandatangani, platform memvalidasi assertion tersebut dan membuat sesi dengan token JWT.
Konfigurasi Per-Tenant
SSO setiap tenant dikonfigurasi dengan URL SSO penyedia identitas mereka, entity ID, sertifikat X.509 untuk validasi tanda tangan, bersama dengan SP entity ID platform, URL layanan konsumen assertion, dan pemetaan atribut dari bidang profil penyedia identitas ke bidang pengguna platform.
Alternatif OIDC
Untuk pelanggan yang lebih memilih OIDC daripada SAML, platform mendukung alur Authorization Code dengan PKCE, menggunakan pemetaan atribut yang sama melalui OIDC claims dan validasi ID token dengan JWKS.
Perutean SSO Multi-Tenant
Platform mengarahkan pengguna ke penyedia identitas yang benar berdasarkan domain email mereka. Ketika pengguna memasukkan email mereka, platform mencari domain tersebut berdasarkan konfigurasi SSO tenant. Jika SSO dikonfigurasi, pengguna dialihkan ke tenant Okta organisasi mereka. Jika tidak, mereka akan kembali menggunakan email/kata sandi atau Google OAuth. Vanity URL juga didukung untuk akses SSO langsung. ---
Implementasi SCIM 2.0
Server SCIM
Platform mengekspos API yang sesuai dengan SCIM 2.0 yang dipanggil Okta untuk mengelola pengguna dan grup. API ini mendukung operasi siklus hidup pengguna penuh (buat, baca, perbarui, nonaktifkan, hapus), CRUD grup dengan manajemen keanggotaan, dan endpoint penemuan SCIM standar untuk kemampuan, skema, dan tipe sumber daya.
Siklus Hidup Pengguna melalui SCIM
Penyediaan:Ketika admin menetapkan pengguna ke aplikasi platform di Okta, Okta mengirimkan permintaan create ke SCIM API. Platform membuat akun pengguna dengan asosiasi tenant, menandainya sebagai aktif dan telah di-provisioning SSO, dan pengguna dapat langsung masuk melalui SSO.
Pembaruan Profil:Ketika admin memperbarui profil pengguna di Okta, perubahan tersebut didorong ke platform melalui SCIM. Jika departemen berubah, keanggotaan grup dievaluasi ulang secara otomatis.
Depenyediaan:Ketika pengguna dihapus dari aplikasi di Okta, platform menonaktifkan akun tersebut โ mencabut semua sesi aktif secara instan, mencegah login lebih lanjut, menyimpan data sesuai kebijakan retensi, dan membebaskan kursi lisensi.
Reaktivasi:Menetapkan ulang pengguna di Okta mengaktifkan kembali akun mereka dengan semua data historis tetap utuh.
Sinkronisasi Grup
Grup Okta memetakan ke peran platform dan tingkatan program โ mengontrol akses ke berbagai tingkat fitur, kapabilitas admin, dasbor khusus, dan pendaftaran program eksklusif. Perubahan keanggotaan grup di Okta didorong melalui SCIM dan tercermin secara real-time tanpa memerlukan login ulang. ---
Keamanan & Autentikasi
Penerbitan Token Setelah SSO
Setelah validasi SAML assertion, platform mengeluarkan JWTs lingkup tenant dengan klaim untuk identitas pengguna, organisasi, peran (berasal dari keanggotaan grup SCIM), metode autentikasi, dan penyedia identitas โ memungkinkan diferensiasi audit antara SSO dan metode autentikasi lainnya.
Manajemen Sesi
- Sesi SSO menghormati masa pakai sesi Okta
- Single Logout (SLO) didukung untuk penghentian sesi saat pengguna keluar dari Okta
- Webhook logout back-channel untuk pencabutan sesi segera
- Penonaktifan SCIM mencabut semua sesi aktif dalam 60 detik
Kontrol Keamanan
- Validasi tanda tangan respons SAML terhadap sertifikat X.509 tenant
- Pencegahan replay assertion melalui pelacakan penggunaan satu kali
- Toleransi penyimpangan waktu untuk validasi timestamp assertion
- Validasi pembatasan audiens
- Assertion terenkripsi didukung untuk deployment sensitif
- Autentikasi endpoint SCIM melalui Bearer token per-tenant
- Pembatasan laju pada endpoint SCIM
---
Dasbor Konfigurasi Admin
Pengaturan SSO Tenant
Dasbor admin menyediakan alur pengaturan swalayan:
- Pemilihan Protokol โ Pilih SAML 2.0 atau OIDC
- Unggah Metadata โ Unggah XML metadata IdP (mengisi konfigurasi secara otomatis)
- Pemetaan Atribut โ Petakan bidang profil penyedia identitas ke bidang pengguna platform
- Verifikasi Domain โ Verifikasi kepemilikan domain email untuk perutean SSO
- Uji Koneksi โ Inisiasi login SSO percobaan sebelum mengaktifkan untuk semua pengguna
- Pengaturan SCIM โ Hasilkan Bearer token untuk konfigurasi provisioning SCIM
- Pemetaan Grup โ Petakan grup penyedia identitas ke peran dan tingkatan platform
Dasbor juga menyediakan SP metadata yang dapat diunduh untuk konfigurasi aplikasi penyedia identitas yang mudah. ---
Fitur Utama
- Dukungan SAML 2.0 + OIDC โ Pilihan protokol fleksibel per tenant
- Provisioning SCIM 2.0 โ Pembuatan, pembaruan, dan penonaktifan pengguna otomatis
- Pemetaan Grup-ke-Peran โ Grup penyedia identitas mengontrol tingkatan dan program akses platform
- Depenyediaan Instan โ Penonaktifan SCIM mencabut akses dalam 60 detik
- Perutean SSO Multi-Tenant โ Penemuan IdP berbasis domain email di seluruh tenant
- Metode Autentikasi yang Berdampingan โ SSO di samping email/kata sandi dan Google OAuth
- Pengaturan Swalayan โ Dasbor admin untuk konfigurasi SSO tanpa dukungan teknik
- Single Logout โ Sesi platform dihentikan saat pengguna keluar dari penyedia identitas
- Jejak Audit โ Setiap operasi SCIM dan peristiwa SSO dicatat untuk kepatuhan
- SCIM Group Sync โ Perubahan peran dan program real-time dari keanggotaan grup penyedia identitas
Hasil
Tumpukan Teknologi
caseStudyDetail.more Studi Kasus
Jelajahi lebih banyak implementasi teknis kami
Pemrosesan Faktur Bertenaga AI dengan OCR dan Integrasi QuickBooks
Sebuah bisnis menengah yang memproses ratusan faktur vendor setiap bulan perlu menghilangkan entri data manual dengan mengekstraksi data faktur secara otomatis menggunakan AI/OCR dan menyinkronkannya langsung ke QuickBooks untuk pembukuan dan pelacakan pembayaran.
Penyisipan Iklan Sisi Klien (CSAI) dengan Penguraian Penanda SCTE-35 & Integrasi Pemutar Multi-Platform
Sebuah platform streaming video perlu mengimplementasikan Client-Side Ad Insertion (CSAI) di seluruh aplikasi web, seluler, dan TV terhubung โ memungkinkan pengalaman iklan yang dipersonalisasi di tingkat perangkat dengan dukungan interaksi iklan penuh (overlay yang dapat diklik, banner pendamping, tombol lewati) yang tidak dapat disediakan oleh penyisipan sisi server.
Siap Mentransformasi Bisnis Anda?
Mari diskusikan bagaimana kami dapat menerapkan solusi serupa untuk tantangan Anda.