Sudo Mode (Access Confirmation)
Sudo Mode adalah fitur keamanan yang mengharuskan pengguna memverifikasi identitas mereka (dengan memasukkan password) sebelum melakukan tindakan sensitif di dalam aplikasi, meskipun mereka sudah berada dalam keadaan login.
Contoh tindakan sensitif:
- Mengaktifkan / Mematikan Two-Factor Authentication (2FA)
- Menghapus sumber daya (Server/Database) secara permanen
- Melihat atau membuat API Token baru
Alur Konfirmasi Akses
Integrasi API untuk Sudo Mode
Step 1: Meminta Token Sudo
Ketika pengguna melakukan tindakan yang diblokir oleh Backend karena butuh verifikasi Sudo, Frontend memunculkan dialog peringatan untuk memasukkan password.
POST /api/auth/access-confirmation
Content-Type: application/json
{
"password": "PasswordLamaSaatIni123!"
}
Kondisi & Tindakan:
- Sukses (200 OK): Password benar. Backend mengembalikan JSON berisi Token khusus Sudo:
FE harus menyalin nilai{"message": "Access confirmed","access_token": "sudo_eyJhbGciOiJIUzI1..."}
access_tokenini. - Error (400 Bad Request): Password salah. Tampilkan pesan kesalahan di modal dialog tersebut.
Step 2: Melanjutkan Tindakan Sensitif
Frontend mengulangi pemanggilan API sensitif yang tadinya diblokir, namun kali ini menyisipkan header X-Access-Token berisi token yang didapat dari Step 1.
POST /api/auth/profile/2fa/disable
X-Access-Token: sudo_eyJhbGciOiJIUzI1...
Content-Type: application/json
Catatan Penting: Token Sudo Mode biasanya hanya memiliki umur (expiry time) yang sangat singkat (misal: 15 hingga 30 menit). Jika kedaluwarsa, Frontend harus mengulang kembali pemanggilan
POST /api/auth/access-confirmation.