Mengenal empat protokol identitas utama: OAuth 2.0 untuk authorisasi, OpenID Connect untuk autentikasi, SAML 2.0 untuk enterprise legacy, dan SCIM 2.0 untuk provisioning, lengkap dengan dukungan Keycloak.

Episode 1 menjelaskan mengapa SSO dibutuhkan: memusatkan autentikasi untuk menyelesaikan password fatigue dan memperkuat kontrol akses. Episode 2 ini memperkenalkan empat protokol yang menjadi mesin di balik SSO: OAuth 2.0, OpenID Connect (OIDC), SAML 2.0, dan SCIM 2.0. Kalian tidak perlu menghafal detail semuanya sekarang — cukup pahami peran masing-masing, karena episode-episode berikutnya akan membedahnya satu per satu.
OAuth 2.0 (RFC 6749) adalah kerangka authorisasi, bukan protokol autentikasi. Ia menjawab pertanyaan "apa yang boleh diakses" — bukan "siapa kamu".
Grant type adalah "cara" OAuth 2.0 menerbitkan token, dan pilihannya bergantung pada tipe aplikasi:
Setiap grant type akan dibedah satu per satu di episode-episode fase 2.
Intuisi terbaik: OAuth 2.0 seperti kunci valet. Kalian tidak menyerahkan kunci rumah, melainkan kunci khusus yang hanya bisa membuka mobil, hanya hari ini, dan hanya oleh orang yang kalian tunjuk.
OpenID Connect (OIDC) dibangun di atas OAuth 2.0 dan menambahkan lapisan autentikasi. Jika OAuth 2.0 menjawab "apa yang boleh diakses", OIDC menjawab "siapa yang login dan bagaimana identitasnya diverifikasi".
Contoh payload ID token yang biasanya kalian temukan:
{
"sub": "f8a9c1e2-4b3d-4f6a-9c2e-1d5b8a7c3e2f",
"iss": "http://localhost:8080/realms/belajar",
"aud": "portal-app",
"email": "budi@example.com",
"email_verified": true,
"preferred_username": "budi",
"exp": 1770000000,
"iat": 1769999700
}Klaim sub adalah identitas unik pengguna, iss menunjukkan issuer, dan aud menunjukkan audiens yang dituju. Klaim ini akan dibedah mendalam di episode tentang OIDC fundamentals.
SAML 2.0 adalah protokol berbasis XML yang menjadi standar SSO enterprise sejak awal 2000-an.
SAML adalah pilihan kalian saat berhadapan dengan aplikasi enterprise legacy atau SaaS yang tidak mendukung OIDC.
Assertion SAML adalah dokumen XML yang ditandatangani dan berisi tiga jenis pernyataan:
Karena berbentuk XML dan memakai sertifikat, assertion SAML tetap dipercaya meski berjalan di masa transisi menuju OIDC.
SCIM (System for Cross-domain Identity Management) adalah standar untuk manajemen identitas lintas sistem — berbeda dari ketiga protokol sebelumnya yang fokus pada login.
POST /Users dan DELETE /Users/{id}.SCIM menjawab pertanyaan yang berbeda: bukan "bagaimana pengguna login", melainkan "bagaimana akun pengguna dikelola secara konsisten di semua sistem".
Rangkuman cepat untuk membedakan keempatnya:
| Protokol | Peran | Format | Kasus Penggunaan |
|---|---|---|---|
| OAuth 2.0 | Authorisasi (delegated) | JSON, token | Memberi akses API, scopes |
| OpenID Connect | Autentikasi | JSON, JWT, ID token | SSO web dan mobile modern |
| SAML 2.0 | Autentikasi + atribut | XML, assertions | SSO enterprise dan legacy |
| SCIM 2.0 | Provisioning | JSON, REST API | Sinkronisasi user antar sistem |
Dua perbandingan yang paling sering menimbulkan kebingungan:
Panduan praktis untuk memilih:
Protokol-protokol ini tidak saling eksklusif dan sering hidup berdampingan dalam satu organisasi.
Keycloak dirancang untuk mendukung semuanya:
Inilah alasan utama Keycloak populer sebagai platform identitas terpusat: satu server melayani beragam protokol.
Episode 2 memberi kalian peta empat protokol identitas: OAuth 2.0 untuk authorisasi, OIDC untuk autentikasi modern, SAML 2.0 untuk enterprise legacy, dan SCIM 2.0 untuk provisioning. Keycloak mendukung semuanya, sehingga bisa menjadi jembatan antar protokol.
Inti yang harus dibawa pulang:
Di episode 3 berikutnya, kalian masuk ke bagian dalam Keycloak: arsitektur dan core concepts — realm, client, user, role, group, dan bagaimana semuanya tersusun.