Endpoint Pengguna Terautentikasi
Endpoint pada bagian ini mewajibkan pengguna telah melakukan autentikasi (auth middleware) melalui sesi cookie web (Laravel Sanctum/Breeze) atau Bearer token.
1. Simpan IP Saya sebagai IP Terpercaya (Save My IP)
Bagian berjudul “1. Simpan IP Saya sebagai IP Terpercaya (Save My IP)”Memungkinkan pengguna yang sedang login untuk mendaftarkan alamat IP dan perangkat yang sedang mereka gunakan ke dalam daftar trusted_ips milik mereka.
- Metode:
POST - URI:
/api/security/trusted-ips/save-my-ip - Headers:
Authorization: Bearer <user-token>Content-Type: application/jsonAccept: application/jsonX-Device-Id: Opsional, UUID fingerprint perangkatX-Local-Ip: Opsional, IP LAN lokal
- Body JSON:
{"device_name": "MacBook Pro M3 Kantor"}
Contoh Request cURL:
Bagian berjudul “Contoh Request cURL:”curl -X POST "https://domain-anda.com/api/security/trusted-ips/save-my-ip" \ -H "Authorization: Bearer 1|abc123xyz..." \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"device_name": "Laptop Kerja Utama"}'Contoh Respons Berhasil (HTTP 200 OK):
Bagian berjudul “Contoh Respons Berhasil (HTTP 200 OK):”{ "success": true, "message": "IP 103.11.22.45 berhasil ditambahkan sebagai IP terpercaya Anda.", "data": { "id": 8, "user_id": 4, "ip_address": "103.11.22.45", "local_ip": "192.168.1.15", "device_id": "dev-uuid-001", "device_name": "Laptop Kerja Utama", "operating_system": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "is_active": true, "verified_at": "2026-10-02T00:30:00.000000Z" }}2. Manfaat & Penggunaan di Aplikasi Host
Bagian berjudul “2. Manfaat & Penggunaan di Aplikasi Host”Setelah IP terdaftar di tabel trusted_ips:
- Aplikasi host dapat memeriksa keterpercayaan IP melalui relasi Eloquent atau service:
use Internal\SecurityMonitor\Services\UserLoginService;$isTrusted = app(UserLoginService::class)->isIpTrusted(ip: $request->ip(),userId: $user->id,deviceId: $request->header('X-Device-Id'));
- Melewati kewajiban tantangan Two-Factor Authentication (2FA) berulang pada perangkat yang sama.
- Memberikan alert keamanan lewat email jika terjadi login dari perangkat asing yang belum terdaftar.