Lewati ke konten utama

2FA Verification (Mobile App)

Sama seperti di Web, jika pengguna mengaktifkan fitur keamanan otentikasi ganda (2FA), maka endpoint /api/mobile/auth/login tidak akan mengembalikan JWT (Token Akses), melainkan akan merespons dengan status tertentu (misal HTTP 200 dengan bendera require_2fa: true atau status 403 khusus 2FA).

Jika hal itu terjadi, aplikasi Mobile harus mengarahkan pengguna ke layar "Masukkan Kode 2FA".

Kewajiban Header

Jangan lupa, setiap endpoint di bawah payung /api/mobile/ wajib menyertakan header rahasia: X-Mobile-Token: <SECRET_TOKEN_APLIKASI>


1. Verifikasi dengan Kode Authenticator

Jika pengguna memiliki aplikasi Authenticator (Google/Microsoft), mereka akan mengetikkan 6 digit kode yang terus berubah tersebut.

Request
POST /api/mobile/auth/2fa/verify-code
X-Mobile-Token: <SECRET_TOKEN_APLIKASI>
Content-Type: application/json
Request Body
{
"email": "customer@frogcloud.com",
"code": "123456"
}

Kondisi & Tindakan:

  • Sukses (200 OK): Backend merespons dengan mengembalikan JWT Access Token. Simpan token tersebut dan masuk ke layar utama.
  • Error (400/401): Kode tidak valid atau telah kedaluwarsa. Tampilkan pesan peringatan kepada pengguna.

2. Verifikasi dengan Kode Pemulihan (Recovery)

Apabila pengguna kehilangan ponsel atau akses ke aplikasi Authenticator, sediakan tautan atau opsi "Coba Cara Lain" di aplikasi Mobile Anda. Pengguna dapat memasukkan 10 karakter Recovery Code statis mereka.

Request
POST /api/mobile/auth/2fa/verify-recovery
X-Mobile-Token: <SECRET_TOKEN_APLIKASI>
Content-Type: application/json
Request Body
{
"email": "customer@frogcloud.com",
"recovery_code": "a1b2c3d4e5"
}

Kondisi & Tindakan:

  • Sukses (200 OK): Pemulihan berhasil, kode tersebut otomatis hangus dari database, dan Backend akan merilis JWT Access Token.
  • Error (400/401): Kode pemulihan salah atau sudah pernah dipakai sebelumnya.