id
Panduan
Instalasi
Fase 2: Konfigurasi Portal
idGuidesInstallationPhase 2 Portal

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>/admin
⚠️

Server 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

Login Identity Admin Console

⚠️

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:

  1. Di sidebar kiri, klik menu Manage realms (ikon perisai di bagian atas sidebar).
  2. Klik tombol Create realm di bagian atas daftar realm.
  3. Pada field Realm name, masukkan nqrust.
  4. Klik Create.

Halaman Manage realms dengan tombol Create realm

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:

  1. Di sidebar kiri, klik Clients.
  2. Klik tombol Create client.

Langkah 3.1 — General settings

Pada langkah pertama wizard, isi form sebagai berikut:

FieldNilai
Client typeBiarkan sebagai OpenID Connect (default).
Client IDMasukkan nqrust-portal persis seperti itu. Nilai ini wajib dan digunakan Portal untuk mengidentifikasi dirinya.
NameIsi dengan label bebas yang mudah dibaca, contohnya NQRust Portal. Hanya ditampilkan di admin console.
DescriptionOpsional. Biarkan kosong atau isi catatan singkat seperti OAuth client untuk NQRust-Identity Portal.
Always display in UIToggle ke On.

Klik Next untuk melanjutkan.

Create client - general settings

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.

Capability config

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:

FieldNilai
Root URLhttps://<hostname>:<portal_port>
Home URLhttps://<hostname>:<portal_port>
Valid redirect URIshttps://<hostname>:<portal_port>/api/auth/callback/keycloak
Valid post logout redirect URIshttps://<hostname>:<portal_port>
Web originshttps://<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:8083

Klik Save.

Login settings

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.

  1. Pada halaman client nqrust-portal, klik tab Service accounts roles.

Tab Service accounts roles

  1. Klik Assign role. Dialog akan muncul menanyakan jenis role yang akan di-assign — pilih Client roles (bukan Realm roles), karena realm-management sendiri adalah sebuah client.
  2. Pada kolom pencarian, ketik realm-management untuk memfilter daftar.
  3. 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.
  4. Klik Assign.

Assign role realm-management

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:

  1. Cari field Client secret.
  2. Klik tombol copy untuk menyalin secret ke clipboard.
  3. Simpan nilai ini — Anda akan menempelkannya ke installer pada langkah berikutnya.

Copy client secret

⚠️

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.

  1. Pastikan realm nqrust masih terpilih.
  2. Di sidebar kiri, klik Users.
  3. Klik Add user.
  4. Isi field dasar:
    • Username — misal testuser
    • Email — misal testuser@example.com
    • Email verified — toggle ke On
    • First name — misal Test
    • Last name — misal User
  5. Klik Create.

Form tambah user

Set password user

Setelah user dibuat, halaman detail user akan terbuka. Set password awal:

  1. Klik tab Credentials.
  2. Klik Set password.
  3. Masukkan password dan konfirmasinya.
  4. Set Temporary ke Off jika Anda tidak ingin user dipaksa mengubah password pada login pertama.
  5. Klik Save, lalu konfirmasi pada dialog.

Set password user

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:

FieldDeskripsiNilai
Realm NameRealm yang Anda buat di Identitynqrust
Client IDOAuth client IDnqrust-portal
Client SecretSecret yang disalin dari Identity(paste dari clipboard)

Form Portal terisi

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

Progress restart Portal

Langkah 9 — Instalasi selesai

Setelah container Portal berhasil restart, layar sukses final menampilkan URL Portal:

Portal: https://<hostname>:<portal_port>

Sukses instalasi Portal

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.

Halaman utama Portal setelah login berhasil

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