Access & Security
Dokumen ini merangkum kontrol akses route admin berdasarkan routes/admin.php.
Layer autentikasi
-
Login session Laravel
- Endpoint:
/admin/login - Mekanisme: session/cookie (bukan X-Token API mobile)
- Endpoint:
-
Email verification
- Group route admin utama dibungkus middleware
verified
- Group route admin utama dibungkus middleware
-
Google 2FA
- Challenge endpoint:
GET /admin/google2faPOST /admin/google2fa
- Setelah lolos, route internal dibungkus middleware
google2fa
- Challenge endpoint:
Struktur middleware route
- Public auth routes:
- login/logout/reset password
- Protected level 1:
Route::middleware(['auth', 'verified'])
- Protected level 2 (functional pages):
Route::middleware(['google2fa'])
Artinya, mayoritas modul admin (users/exchanges/wallets/settings/report, dll.) baru bisa diakses setelah:
- login berhasil
- akun verified
- challenge 2FA berhasil
Endpoint sensitif
Beberapa route perlu perhatian ekstra saat deployment:
-
/admin/debug-tz- endpoint debug database timezone
- sebaiknya dinonaktifkan di production
-
/admin/test-notification/{type?}/{user_id?} -
/admin/test-fcm- endpoint pengujian notifikasi internal
- sebaiknya dibatasi permission/role yang ketat
Praktik hardening yang direkomendasikan
- Batasi akses
/adminvia VPN, private network, atau IP allowlist. - Pastikan
SESSION_SECURE_COOKIE=truedan HTTPS aktif. - Terapkan kebijakan password admin yang kuat + rotasi berkala.
- Audit role/permission di modul setting secara periodik.
- Monitor login log admin (
setting/admin-login-log-history) untuk anomali.