Skip to content

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

  1. Client System (OLT Management) membangun canonical request.
  2. Client System (OLT Management) membuat signature dari string to sign.
  3. Server System (External API Server) memvalidasi timestamp dan signature.
  4. 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: service

User 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: web

Catatan penting

  • Gunakan format baru CredentialType + CredentialId.
  • Jangan log secret key di aplikasi.
  • Retry harus menggunakan X-Request-Id baru.

Next