Session Management
Dokumentasi ini menjelaskan mengenai mekanisme manajemen sesi (session) pada Frontend menggunakan Refresh Token untuk memperpanjang sesi aktif secara aman dan Logout untuk mengakhiri sesi dan membersihkan Cookies.
1. Refresh Token
Secara default, token JWT yang dikeluarkan oleh Frog Cloud memiliki masa berlaku (expiry time) yang relatif singkat demi keamanan. Untuk mencegah pengguna harus login berulang-ulang, Frontend dapat memanggil endpoint Refresh Token di belakang layar ketika token utama hampir habis atau saat menerima response 401 Unauthorized dari backend.
POST /api/auth/refresh
Content-Type: application/json
Kondisi & Tindakan:
- Sukses (200 OK): Backend berhasil memvalidasi Device Cookie atau sesi aktif, lalu mengirimkan HTTP-Only Cookies yang baru ke browser. Token di dalam Cookies telah diperbarui, dan Frontend dapat mengulang pemanggilan API yang sebelumnya gagal (retry).
- Error (400/401): Sesi pengguna telah sepenuhnya kedaluwarsa atau Cookies ditolak. Frontend wajib menghapus status login (jika ada di Local Storage atau State Management) dan me-redirect pengguna kembali ke halaman utama Login.
2. Logout
Saat pengguna menekan tombol "Logout" di Dasbor, Frontend tidak boleh hanya sekadar menghapus state lokal, melainkan wajib memberi tahu Backend agar mematikan sesi perangkat (device session) dan menghapus Cookies.
POST /api/auth/logout
Content-Type: application/json
Kondisi & Tindakan:
- Sukses (200 OK): Sesi berhasil diakhiri dari sisi Server, dan Backend akan memberikan instruksi pembersihan Cookies kepada browser. Frontend kemudian bisa me-redirect pengguna ke halaman Landing Page atau Login.