HMAC Authentication Overview
Dokumen ini menjelaskan konsep autentikasi HMAC untuk integrasi antar sistem eksternal.
Apa itu HMAC?
HMAC (Hash-based Message Authentication Code) adalah mekanisme untuk memastikan:
- integritas data
- keaslian pengirim
Cara kerja ringkas
- Client System (OLT Management) membangun canonical request.
- Client System (OLT Management) membuat signature dari string to sign.
- Server System (External API Server) memvalidasi timestamp dan signature.
- Jika valid, request diproses.
Header penting
Service auth
http
Authorization: HMAC-SHA256 CredentialType=service, CredentialId=external-system-client, SignedHeaders=x-date;x-request-id;x-client-type, Signature=<hex>
X-Date: 2026-03-16T08:30:12.000Z
X-Request-Id: 231b0de6-5d4b-4ad9-a7c5-03c2f0cba80f
X-Client-Type: serviceUser auth
http
Authorization: HMAC-SHA256 CredentialType=user, CredentialId=admin@example.com, SignedHeaders=x-date;x-tenant-id;x-request-id;x-client-type, Signature=<hex>
X-Date: 2026-03-16T08:30:12.000Z
X-Tenant-Id: tenant-123
X-Request-Id: 0126f7aa-31bc-4c84-91ef-7b7c51f594f8
X-Client-Type: webCatatan penting
- Gunakan format baru
CredentialType+CredentialId. - Jangan log secret key di aplikasi.
- Retry harus menggunakan
X-Request-Idbaru.