feat(auth): implementasi autentikasi HMAC dan standardisasi format respons API

- Tambah validasi HMAC (X-Signature, X-Timestamp, X-Api-Key) pada setiap request.
- Standarkan format respons sesuai ResponseCode; hapus `response_description` (gabung ke `response_message`).
- `BalanceSummaryRequest`: validasi header + `validateHmac512`, pakai secret dari config, logging detail, bedakan invalid API key vs invalid signature.
- `AccountBalanceController`: sederhanakan pesan error “Rekening tidak ditemukan”.
- Konfigurasi baru: `webstatement.api_key`, `webstatement.secret_key`; pastikan helper `validateHmac512` tersedia.
- Breaking: Bearer token tidak didukung; gunakan HMAC headers.
- Validasi nomor rekening di database sebelum proses bisnis.
- Logging terstruktur untuk setiap percobaan validasi HMAC (header & hasil verifikasi).
- Konsistensi kode error via ResponseCode enum untuk semua kasus gagal.
This commit is contained in:
Daeng Deni Mardaeni
2025-08-28 13:44:58 +07:00
parent adda3122f8
commit 00681a8e30
3 changed files with 148 additions and 25 deletions

View File

@@ -53,7 +53,7 @@ class AccountBalanceController extends Controller
return response()->json(
ResponseCode::DATA_NOT_FOUND->toResponse(
null,
'Data saldo tidak ditemukan untuk nomor rekening: ' . $accountNumber
'Rekening tidak ditemukan'
),
ResponseCode::DATA_NOT_FOUND->getHttpStatus()
);