Menyiapkan fondasi belajar Keycloak: skill dasar yang wajib dikuasai, software dan hardware yang dibutuhkan, konsep realm, serta menjalankan Keycloak dengan Docker untuk mulai bereksperimen di localhost.

Selamat datang di episode 0 dari series Belajar SSO dengan Keycloak! Series ini membawa kalian dari nol hingga siap membangun platform identitas terpusat: memahami apa itu Single Sign-On (SSO), menguasai protokol identitas seperti OAuth 2.0 dan OpenID Connect, lalu mengoperasikan Keycloak sebagai otoritas autentikasi untuk semua aplikasi kalian. Sebelum masuk ke materi inti, episode ini memastikan skill, software, dan lingkungan kalian benar-benar siap.
SSO adalah konsep sederhana dengan dampak besar: satu autentikasi, akses ke banyak aplikasi. Alih-alih login ulang di setiap sistem, pengguna cukup login sekali di pusat identitas, dan pusat itulah yang menangani autentikasi, sesi, dan kebijakan akses. Di series ini, pusat itu adalah Keycloak.
SSO (Single Sign-On) berarti pengguna melakukan autentikasi satu kali di sebuah identity provider, lalu token yang diperoleh dipakai untuk mengakses banyak aplikasi tanpa login ulang. Keycloak adalah identity and access management (IAM) open-source dari Red Hat yang mengimplementasikan konsep ini dengan dukungan penuh untuk OAuth 2.0, OpenID Connect, SAML 2.0, dan LDAP.
Roadmap series ini terdiri dari 31 episode dalam beberapa fase:
Episode 0 ini adalah landasan: pastikan skill dan environment kalian siap sebelum mulai menyentuh Keycloak.
Belajar Keycloak bukan sekadar mengklik tombol di admin console. Kalian akan membaca konfigurasi, memahami token, dan men-debug alur autentikasi. Skill berikut wajib dikuasai setidaknya pada level menengah:
Siapkan setidaknya tool berikut di mesin kalian:
| Tool | Kegunaan |
|---|---|
| JDK 11 atau 17 | Menjalankan Keycloak (Java 17+ direkomendasikan) |
| Docker & Docker Compose | Cara tercepat menjalankan Keycloak untuk development |
| PostgreSQL atau MySQL | Database produksi untuk user store Keycloak |
| Postman atau Insomnia | Menguji endpoint token dan Admin REST API |
| OpenSSL | Membuat dan memeriksa sertifikat |
| Browser modern | Mengakses admin console dan account console |
| IDE (VS Code, IntelliJ) | Menulis kode aplikasi contoh |
| Aplikasi contoh (Node.js, Python, Java) | Bahan praktik integrasi di episode-episode berikutnya |
Fokus utama episode ini adalah Docker karena itu cara tercepat untuk mulai bermain. JDK tetap penting karena memahami cara kerja Java membantu saat kalian menyesuaikan JVM Keycloak di produksi.
Spesifikasi berikut cukup untuk mengikuti seluruh series ini dengan nyaman:
Untuk sebagian besar episode, satu mesin lokal sudah cukup. VM tambahan baru diperlukan saat masuk fase deployment dan clustering.
Cara tercepat menjalankan Keycloak adalah lewat image resmi di quay.io. Keycloak 25 ke atas menetapkan admin awal lewat environment variable KC_BOOTSTRAP_ADMIN_USERNAME dan KC_BOOTSTRAP_ADMIN_PASSWORD:
docker run -d \
--name keycloak \
-p 8080:8080 \
-e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
-e KC_BOOTSTRAP_ADMIN_PASSWORD=admin123 \
quay.io/keycloak/keycloak:latest start-devPerintah docker run di atas menjalankan Keycloak dalam mode start-dev — mode development yang praktis karena tidak memerlukan konfigurasi HTTPS dan database eksternal. Ini bukan mode untuk produksi, melainkan untuk belajar.
Jika kalian lebih suka docker-compose, buat file berikut:
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
command: start-dev
ports:
- "8080:8080"
environment:
KC_BOOTSTRAP_ADMIN_USERNAME: admin
KC_BOOTSTRAP_ADMIN_PASSWORD: admin123
volumes:
- keycloak-data:/opt/keycloak/data
volumes:
keycloak-data:Jalankan dengan docker compose up -d, lalu cek log dengan docker logs -f keycloak. Keycloak siap saat log menampilkan pesan yang menandakan server started.
Setelah Keycloak berjalan, hal pertama yang perlu kalian pahami adalah realm. Realm adalah ruang isolasi (namespace) yang memisahkan sekumpulan user, client, role, dan konfigurasi dari realm lainnya. Bayangkan realm sebagai "tenant" tersendiri di dalam Keycloak.
Setiap instalasi Keycloak memiliki realm khusus bernama master yang khusus untuk administrasi. Saat membuat aplikasi kalian sendiri, praktik terbaiknya adalah membuat realm baru — jangan memakai realm master untuk aplikasi bisnis.
Lakukan verifikasi berikut untuk memastikan semuanya berjalan:
http://localhost:8080 di browser. Kalian akan diarahkan ke halaman selamat datang Keycloak.admin dan password yang tadi kalian set.master.belajar, lalu hapus jika tidak dibutuhkan.Jika halaman admin console terbuka dan kalian bisa membuat realm, environment kalian siap untuk seluruh series ini.
Episode 0 menempatkan fondasi: kalian memahami posisi series ini dalam 31 episode, menguasai daftar skill dasar, menyiapkan software dan hardware yang dibutuhkan, serta menjalankan Keycloak dengan Docker dalam mode development. Konsep realm juga sudah kalian kenal.
Inti yang harus dibawa pulang:
docker run dengan start-dev cukup untuk memulai tanpa konfigurasi rumit.Di episode 1 berikutnya, kita mundur selangkah untuk memahami mengapa SSO dibutuhkan — sejarah evolusi autentikasi, masalah password fatigue, dan apa saja keuntungan serta risiko SSO sebelum kalian mulai mengadopsinya di organisasi.