Change Password (Mobile)
Aplikasi Mobile memiliki endpoint yang sedikit berbeda untuk mengganti kata sandi bila dibandingkan dengan Customer Web. Proses ini dilakukan di dalam halaman Profil atau Pengaturan (Settings) saat pengguna sedang dalam keadaan login.
Alur penggantian sandi di Mobile menggunakan sistem dua langkah (Meminta OTP dan Mengkonfirmasi Sandi Baru).
Pastikan aplikasi mengirimkan header otentikasi rahasia:
X-Mobile-Token: <SECRET_TOKEN_APLIKASI>
Selain itu, sertakan juga Authorization: Bearer <JWT_TOKEN> karena endpoint ini membutuhkan sesi pengguna yang sedang login.
Step 1: Request OTP Perubahan Sandi
Sistem Backend sangat ketat. Sebelum mengizinkan pergantian sandi yang kritis, pengguna harus membuktikan kepemilikan email mereka.
Ketika pengguna menekan tombol "Ubah Kata Sandi" di pengaturan:
POST /api/mobile/auth/profile/change-password/request
X-Mobile-Token: <SECRET_TOKEN_APLIKASI>
Authorization: Bearer <JWT_TOKEN>
(Tidak memerlukan body).
Kondisi & Tindakan:
- Sukses (200 OK): Backend mengirimkan kode OTP 6 digit ke alamat email pengguna. Aplikasi harus membawa pengguna ke layar Input Sandi Baru dan Kode OTP.
Step 2: Konfirmasi (Proceed) Penggantian
Setelah menerima OTP dari email, pengguna mengisikan sandi lama, sandi baru, dan kode OTP tersebut ke dalam formulir.
POST /api/mobile/auth/profile/change-password/proceed
X-Mobile-Token: <SECRET_TOKEN_APLIKASI>
Authorization: Bearer <JWT_TOKEN>
Content-Type: application/json
{
"current_password": "OldPassword123!",
"new_password": "NewStrongPassword456!",
"otp": "123456"
}
Kondisi & Tindakan:
- Sukses (200 OK): Sandi berhasil diganti. Biasanya JWT lama akan langsung di-invalidasi (bergantung dari pengaturan keamanan Backend). Anda sebaiknya logout paksa (force logout) pengguna dari aplikasi dan meminta mereka login kembali menggunakan sandi baru.
- Error (400 Bad Request): Validasi sandi baru tidak lolos (tidak sesuai aturan Regex keamanan) atau OTP salah. Tampilkan pesan error terkait.