OmniStream Docs
  • Panduan Pengguna
  • Developer
  • API Reference
Pengenalan
Memulai
    Login PertamaTur Antarmuka & Setup Channel Pertama
Agent
Supervisor
Admin
Integrasi
FAQ
Memulai

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

Halaman login

Sebelum mulai

Pastikan hal berikut:

  • Backend OmniStream sudah dijalankan — minimal service api-gateway, postgres, mongodb, dan redis aktif. Jika Anda menjalankan via Docker Compose:

    TerminalCode
    docker compose up -d
  • Frontend dijalankan di http://localhost:4000:

    TerminalCode
    cd frontend npm run dev
  • Migrasi database sudah dieksekusi otomatis oleh omni-common saat service pertama kali menyala. Anda dapat mengeceknya dengan:

    TerminalCode
    psql $DATABASE_URL -c "\dt"

    dan memastikan tabel seperti agents, contacts, conversations sudah ada.

  • Seed admin sudah dieksekusi (lihat bagian Admin default di bawah).

Admin default

Saat instalasi pertama, jalankan script seed untuk membuat admin default:

TerminalCode
psql $DATABASE_URL -f scripts/seed_agents.sql

Script ini membuat satu akun dengan kredensial:

  • Email: admin@omnistream.com
  • Password: admin123
  • Peran: admin

PERINGATAN KEAMANAN: Kredensial default HARUS diganti sebelum production. Password admin123 hanya cocok untuk development lokal. Ikuti langkah Ganti password segera setelah login pertama.

Langkah-langkah login

  1. Buka browser ke http://localhost:4000 (atau domain production Anda).
  2. Anda otomatis diarahkan ke /login.
  3. Isi Email dan Password.
  4. Klik tombol Sign in.

Frontend akan memanggil endpoint POST /api/auth/login dengan body:

Code
{ "email": "admin@omnistream.com", "password": "admin123" }

Jika sukses, server akan mengembalikan:

Code
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI...", "token_type": "Bearer", "agent": { "id": "uuid-here", "name": "Admin", "email": "admin@omnistream.com", "role": "admin" } }

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

ErrorPenyebab umumSolusi
401 Unauthorized dengan "invalid credentials"Password salahCek huruf besar/kecil; jika lupa, admin lain dapat mereset via /user-management
401 Unauthorized dengan "account disabled"Akun dinonaktifkanHubungi admin untuk mengaktifkan kembali
500 Internal Server ErrorBackend tidak jalanCek docker compose ps; pastikan api-gateway dan postgres up
Halaman login terus reload setelah submitCookie diblokir browserGunakan HTTPS di production, atau izinkan cookie dari localhost di browser
CORS error di console browserCorsLayer tidak mengizinkan originDi 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:

  1. Klik avatar Anda di pojok kanan atas, pilih Profile.
  2. Di halaman /profile, klik Change password.
  3. Isi password lama (admin123), password baru, dan konfirmasi.
  4. 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:

  1. Buka /user-management.
  2. Klik Add agent.
  3. Isi nama, email, password awal, dan peran.
  4. (Opsional) Assign ke divisi.
  5. 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_SECRET saat ada kecurigaan kebocoran — semua token lama akan menjadi invalid.
  • Audit Activity Log secara berkala untuk login mencurigakan.

Baca selanjutnya: Tur antarmuka.

Last modified on June 8, 2026
Peran PenggunaTur Antarmuka & Setup Channel Pertama
On this page
  • Sebelum mulai
  • Admin default
  • Langkah-langkah login
  • Login gagal: troubleshoot cepat
  • Ganti password default
  • Tambah agent untuk tim
  • Logout
  • Praktik keamanan
JSON
JSON