Forgot & Reset Password Flow
Dokumentasi ini menjelaskan urutan proses dan pemanggilan API yang dibutuhkan Frontend (FE) untuk memfasilitasi pemulihan akun ketika pengguna (Customer) melupakan password mereka.
Alur pemulihan ini menggunakan sistem Token yang dikirimkan melalui email.
Diagram Alur Pemulihan Password
Berikut adalah visualisasi urutan interaksi sistem untuk Lupa Password.
Urutan Integrasi API untuk Frontend
Step 1: Meminta Token Reset Password (Forgot)
Pada tahap awal, pengguna memasukkan Email yang mereka gunakan saat mendaftar. API ini akan memicu backend untuk mengirimkan Token/Kode unik ke alamat email tersebut.
POST /api/auth/password/forgot
Content-Type: application/json
{
"email": "customer@frogcloud.com"
}
Kondisi & Tindakan:
- Sukses (200 OK): Backend berhasil memproses permintaan. FE harus mengarahkan pengguna ke halaman/modal "Reset Password" di mana pengguna diminta untuk memasukkan Token yang mereka terima di email dan menentukan Password baru mereka.
- Error (400 Bad Request): Kemungkinan besar karena email tidak terdaftar di sistem. Tampilkan pesan kesalahan yang relevan atau peringatan keamanan generik.
Step 2: Melakukan Reset Password
Setelah pengguna menerima pesan di email yang berisi Token pemulihan, mereka harus memasukkannya bersama dengan Password Baru yang ingin mereka gunakan. Tidak ada langkah validasi token perantara; token divalidasi langsung bersamaan dengan pergantian password.
POST /api/auth/password/reset
Content-Type: application/json
{
"email": "customer@frogcloud.com",
"token": "64_karakter_token_hex_dari_email",
"password": "PasswordBaruKuat123!"
}
Kondisi & Tindakan:
- Sukses (200 OK): Password berhasil diubah. FE harus menampilkan pesan sukses (misal: "Password Anda berhasil diperbarui") dan secara otomatis mengarahkan (redirect) pengguna kembali ke Halaman Login Utama.
- Error (400 Bad Request): Terjadi kesalahan. Ada dua penyebab umum:
- Token Salah / Kadaluarsa: Tampilkan pesan kepada pengguna bahwa kode pemulihan tidak valid, dan minta mereka untuk mengulang dari Step 1.
- Syarat Password Gagal: Password baru tidak memenuhi kriteria minimal (misal kurang dari 8 karakter). Tampilkan pesan validasi password kepada pengguna.