Fase 2: Konfigurasi Portal
Pada fase ini, Anda akan membuat OAuth client di Identity Admin Console, memberikan permission yang dibutuhkan, membuat user uji coba, dan menghubungkan Portal ke client tersebut.
Prasyarat
- Fase 1 telah selesai — container Identity dan Portal sedang berjalan.
- Akses ke Identity Admin Console di
https://<hostname>:<identity_port>/admin.
Langkah 1 — Login ke Identity Admin Console
Buka Identity Admin Console di browser Anda:
https://<hostname>:<identity_port>/adminServer Identity menggunakan sertifikat TLS self-signed secara default. Browser Anda akan menampilkan peringatan keamanan — terima untuk melanjutkan.
Login dengan kredensial admin default:
- Username:
admin - Password:
identity

Ganti password admin default segera setelah login pertama melalui Users → admin → Credentials.
Langkah 2 — Buat realm
NQRust-Identity mengelompokkan client, user, dan role ke dalam realm. Buat realm khusus untuk Portal:
- Di sidebar kiri, klik menu Manage realms (ikon perisai di bagian atas sidebar).
- Klik tombol Create realm di bagian atas daftar realm.
- Pada field Realm name, masukkan
nqrust. - Klik Create.

Langkah 3 — Buat OAuth client Portal
Dengan realm nqrust terpilih (cek nama realm yang tertera di atas sidebar kiri), buat OAuth client yang akan digunakan oleh Portal. Wizard ini memiliki tiga langkah: General settings, Capability config, dan Login settings.
Untuk membuka wizard:
- Di sidebar kiri, klik Clients.
- Klik tombol Create client.
Langkah 3.1 — General settings
Pada langkah pertama wizard, isi form sebagai berikut:
| Field | Nilai |
|---|---|
| Client type | Biarkan sebagai OpenID Connect (default). |
| Client ID | Masukkan nqrust-portal persis seperti itu. Nilai ini wajib dan digunakan Portal untuk mengidentifikasi dirinya. |
| Name | Isi dengan label bebas yang mudah dibaca, contohnya NQRust Portal. Hanya ditampilkan di admin console. |
| Description | Opsional. Biarkan kosong atau isi catatan singkat seperti OAuth client untuk NQRust-Identity Portal. |
| Always display in UI | Toggle ke On. |
Klik Next untuk melanjutkan.

Langkah 3.2 — Capability config
Pada langkah kedua wizard, atur opsi berikut:
- Client authentication — toggle ke
On. - Authorization — toggle ke
On. - Authentication flow — pastikan dua checkbox berikut tercentang:
- ✅ Standard flow
- ✅ Service accounts roles
- PKCE Method — biarkan pada
Choose...(tanpa nilai).
Klik Next untuk melanjutkan.

Langkah 3.3 — Login settings
Gunakan alamat yang sama di semua tempat. Placeholder <hostname> di bawah dapat berupa IP address (misal 192.168.1.100) atau DNS name (misal portal.company.com) — keduanya valid. Aturan pentingnya: nilai yang Anda masukkan di sini harus persis sama dengan alamat yang akan diketik user di browser saat membuka Portal. Redirect URI OAuth dicocokkan sebagai string exact; ketidakcocokan (misal mendaftarkan hostname tapi mengakses lewat IP, atau sebaliknya) akan menyebabkan login gagal dengan error Invalid parameter: redirect_uri.
Jika ragu mana yang harus dipakai, gunakan IP address server — pilihan ini langsung jalan tanpa perlu setup DNS atau file hosts di tiap mesin client.
Pada langkah Login settings, konfigurasikan URL berdasarkan hostname dan portal port Anda:
| Field | Nilai |
|---|---|
| Root URL | https://<hostname>:<portal_port> |
| Home URL | https://<hostname>:<portal_port> |
| Valid redirect URIs | https://<hostname>:<portal_port>/api/auth/callback/keycloak |
| Valid post logout redirect URIs | https://<hostname>:<portal_port> |
| Web origins | https://<hostname>:<portal_port> |
Contoh dengan hostname 192.168.1.100 dan portal port 8083:
Root URL: https://192.168.1.100:8083
Home URL: https://192.168.1.100:8083
Valid redirect URIs: https://192.168.1.100:8083/api/auth/callback/keycloak
Valid post logout URIs: https://192.168.1.100:8083
Web origins: https://192.168.1.100:8083Klik Save.

Langkah 4 — Assign service account roles ke client
Client Portal membutuhkan izin untuk mengelola sumber daya realm (user, role, client) melalui Identity REST API. Anda memberikan izin ini melalui service account milik client.
- Pada halaman client
nqrust-portal, klik tab Service accounts roles.

- Klik Assign role. Dialog akan muncul menanyakan jenis role yang akan di-assign — pilih Client roles (bukan Realm roles), karena
realm-managementsendiri adalah sebuah client. - Pada kolom pencarian, ketik
realm-managementuntuk memfilter daftar. - Pilih setiap role dari client
realm-management. Checkbox di header tabel hanya memilih role pada halaman saat ini — jadi setelah mencentangnya, gunakan kontrol paginasi di bawah tabel untuk pindah ke halaman berikutnya dan centang lagi header tersebut. Ulangi sampai semua halaman role-nya tercentang. Untuk mempercepat, Anda bisa memperbesar pengaturan baris-per-halaman di bawah tabel agar semua role muat dalam satu halaman. - Klik Assign.

Client realm-management mengekspos role seperti manage-users, manage-clients, manage-realm, view-users, view-clients, dan lain-lain. Portal membutuhkan role-role ini untuk membuat user, memutar secret, dan mengelola konfigurasi realm.
Jangan lewati langkah ini. Tanpa role realm-management, Portal akan gagal memuat data user/role dan beberapa fitur admin tidak akan berfungsi.
Langkah 5 — Copy client secret
Setelah client dikonfigurasi dan service account-nya diberi permission, klik tab Credentials pada client nqrust-portal:
- Cari field Client secret.
- Klik tombol copy untuk menyalin secret ke clipboard.
- Simpan nilai ini — Anda akan menempelkannya ke installer pada langkah berikutnya.

Perlakukan client secret seperti password. Jangan bagikan atau commit ke version control.
Langkah 6 — Buat user
Anda perlu setidaknya satu user di realm nqrust untuk dapat login ke Portal.
- Pastikan realm
nqrustmasih terpilih. - Di sidebar kiri, klik Users.
- Klik Add user.
- Isi field dasar:
- Username — misal
testuser - Email — misal
testuser@example.com - Email verified — toggle ke
On - First name — misal
Test - Last name — misal
User
- Username — misal
- Klik Create.

Set password user
Setelah user dibuat, halaman detail user akan terbuka. Set password awal:
- Klik tab Credentials.
- Klik Set password.
- Masukkan password dan konfirmasinya.
- Set Temporary ke
Offjika Anda tidak ingin user dipaksa mengubah password pada login pertama. - Klik Save, lalu konfirmasi pada dialog.

Untuk deployment produksi, biarkan Temporary di posisi On agar setiap user baru harus mengatur password mereka sendiri setelah login pertama.
Langkah 7 — Isi form Portal di installer
Kembali ke terminal installer. Jika Anda keluar setelah Fase 1, jalankan ulang installer dan pilih Install Portal dari menu home. Atau, tekan i pada layar sukses Identity untuk melanjutkan.
Form Portal meminta tiga nilai:
| Field | Deskripsi | Nilai |
|---|---|---|
| Realm Name | Realm yang Anda buat di Identity | nqrust |
| Client ID | OAuth client ID | nqrust-portal |
| Client Secret | Secret yang disalin dari Identity | (paste dari clipboard) |

Arahkan ke tombol Install lalu tekan Enter untuk menerapkan konfigurasi.
Langkah 8 — Restart Portal
Installer akan memperbarui file .env dengan konfigurasi client baru dan me-restart container Portal:
docker compose up -d --force-recreate portal
Langkah 9 — Instalasi selesai
Setelah container Portal berhasil restart, layar sukses final menampilkan URL Portal:
Portal: https://<hostname>:<portal_port>
Langkah 10 — Verifikasi instalasi
Buka URL Portal di browser Anda:
https://<hostname>:<portal_port>Anda akan diarahkan ke halaman login Identity yang dilayani oleh realm nqrust. Login menggunakan user yang Anda buat pada Langkah 6.
Setelah login berhasil, Anda akan melihat halaman utama Portal.

Selamat — NQRust-Identity Portal Anda sudah terinstal sepenuhnya dan siap digunakan!