Login Pertama
Login Pertama
Halaman ini memandu Anda login pertama kali ke OmniStream setelah instalasi. Jika Anda hanya ingin tahu cara login harian, langsung saja ke bagian Langkah login di bawah.
Rute frontend: /login

Sebelum mulai
Pastikan hal berikut:
-
Backend OmniStream sudah dijalankan — minimal service
api-gateway,postgres,mongodb, danredisaktif. Jika Anda menjalankan via Docker Compose:Code -
Frontend dijalankan di
http://localhost:4000:Code -
Migrasi database sudah dieksekusi otomatis oleh
omni-commonsaat service pertama kali menyala. Anda dapat mengeceknya dengan:Codedan memastikan tabel seperti
agents,contacts,conversationssudah ada. -
Seed admin sudah dieksekusi (lihat bagian Admin default di bawah).
Admin default
Saat instalasi pertama, jalankan script seed untuk membuat admin default:
Code
Script ini membuat satu akun dengan kredensial:
- Email:
admin@omnistream.com - Password:
admin123 - Peran:
admin
PERINGATAN KEAMANAN: Kredensial default HARUS diganti sebelum production. Password
admin123hanya cocok untuk development lokal. Ikuti langkah Ganti password segera setelah login pertama.
Langkah-langkah login
- Buka browser ke
http://localhost:4000(atau domain production Anda). - Anda otomatis diarahkan ke
/login. - Isi Email dan Password.
- Klik tombol Sign in.
Frontend akan memanggil endpoint
POST /api/auth/login dengan body:
Code
Jika sukses, server akan mengembalikan:
Code
Token juga di-set sebagai cookie access_token (httpOnly, SameSite=Lax,
Secure di production). Frontend menyimpan salinan di memory untuk
header Authorization: Bearer pada permintaan API berikutnya.
Login gagal: troubleshoot cepat
| Error | Penyebab umum | Solusi |
|---|---|---|
401 Unauthorized dengan "invalid credentials" | Password salah | Cek huruf besar/kecil; jika lupa, admin lain dapat mereset via /user-management |
401 Unauthorized dengan "account disabled" | Akun dinonaktifkan | Hubungi admin untuk mengaktifkan kembali |
500 Internal Server Error | Backend tidak jalan | Cek docker compose ps; pastikan api-gateway dan postgres up |
| Halaman login terus reload setelah submit | Cookie diblokir browser | Gunakan HTTPS di production, atau izinkan cookie dari localhost di browser |
CORS error di console browser | CorsLayer tidak mengizinkan origin | Di development, api-gateway menggunakan CorsLayer::permissive(). Jika masalah berlanjut, cek FRONTEND_URL di .env |
Selengkapnya soal error dan kode HTTP: lihat Error & Rate Limit.
Ganti password default
Segera setelah login pertama sebagai admin:
- Klik avatar Anda di pojok kanan atas, pilih Profile.
- Di halaman
/profile, klik Change password. - Isi password lama (
admin123), password baru, dan konfirmasi. - Klik Save. Password baru di-hash dengan Argon2 dan disimpan
di tabel
agents.
Endpoint:
POST /api/auth/change-password.
Catatan: Setelah ganti password, token Anda yang lama tetap valid hingga kedaluwarsa. Logout dan login ulang bila Anda ingin membatalkan semua sesi aktif.
Tambah agent untuk tim
Setelah berhasil login sebagai admin:
- Buka
/user-management. - Klik Add agent.
- Isi nama, email, password awal, dan peran.
- (Opsional) Assign ke divisi.
- Klik Save.
Agent baru akan menerima kredensial yang Anda buat. Sarankan mereka
untuk segera ganti password melalui /change-password setelah login
pertama.
Logout
Klik avatar di pojok kanan atas → Logout. Frontend memanggil
POST /api/auth/logout untuk menghapus cookie
access_token dan membersihkan state di browser.
Praktik keamanan
- Jangan simpan password di browser untuk akun admin.
- Gunakan password manager (Bitwarden, 1Password) untuk seluruh tim.
- Aktifkan HTTPS sebelum membuka frontend ke internet — cookie httpOnly hanya aman di atas TLS.
- Rotasi
JWT_SECRETsaat ada kecurigaan kebocoran — semua token lama akan menjadi invalid. - Audit Activity Log secara berkala untuk login mencurigakan.
Baca selanjutnya: Tur antarmuka.