Autentikasi Hawk adalah protokol autentikasi berbasis permintaan HTTP yang dirancang untuk menyediakan mekanisme autentikasi yang sederhana, fleksibel, dan aman. Protokol ini menggunakan HMAC (Hash-based Message Authentication Code) untuk membuat tanda tangan kriptografis yang memverifikasi keaslian dan integritas permintaan.Hawk sangat berguna untuk API yang memerlukan keamanan kuat tanpa kompleksitas OAuth, serta menyediakan alternatif ringan untuk komunikasi layanan-ke-layanan.Pengaturan Dasar#
Konfigurasikan parameter autentikasi Hawk yang esensial:| Parameter | Deskripsi | Wajib |
|---|
| Hawk Auth ID | Pengidentifikasi autentikasi untuk permintaan saat ini | Ya |
| Hawk Auth Key | Kunci autentikasi untuk permintaan saat ini | Ya |
| Algorithm | Algoritma HMAC untuk autentikasi pesan | Ya (SHA-256, SHA-1, dll.) |
Algoritma harus sesuai dengan yang diharapkan oleh penyedia API Anda. SHA-256 direkomendasikan untuk implementasi modern, sementara SHA-1 didukung untuk sistem lama.
Pengaturan Lanjutan#
Klik opsi More untuk mengonfigurasi parameter Hawk tambahan. Jika dibiarkan kosong, parameter tersebut akan dibuat secara otomatis.| Parameter | Deskripsi | Tujuan |
|---|
| User | Pengidentifikasi pengguna | Mengidentifikasi pengguna yang membuat permintaan |
| Nonce | String acak yang dibuat oleh klien | Mencegah serangan replay dengan memastikan keunikan permintaan |
| ext | Informasi khusus aplikasi | Data kustom yang dikirim bersama permintaan API |
| app | Pengidentifikasi aplikasi | Mencegah peniruan kredensial dengan mengikat kredensial ke aplikasi tertentu |
| dlg | ID aplikasi delegasi | Mengidentifikasi aplikasi yang menerbitkan kredensial |
| Timestamp | Timestamp Unix | Mencegah permintaan di luar jendela waktu (perlindungan anti-replay) |
| Include payload hash | Opsi kotak centang | Jika diaktifkan, menyertakan hash dari payload permintaan dalam tanda tangan |
Fitur Keamanan#
Pencegahan Serangan Replay:Timestamp: Memastikan permintaan hanya valid dalam jendela waktu tertentu
Nonce: Memastikan setiap permintaan bersifat unik dan tidak dapat diputar ulang
app: Mencegah penyerang menggunakan kredensial yang diterbitkan untuk aplikasi lain
dlg: Melacak aplikasi mana yang mendelegasikan kredensial
Apidog secara otomatis membuat nilai Timestamp dan Nonce jika dibiarkan kosong, sehingga memastikan keamanan yang tepat tanpa konfigurasi manual.
Aktifkan "Include payload hash" ketika API Anda memerlukan verifikasi integritas body permintaan. Ini menambahkan payload ke perhitungan tanda tangan, sehingga mencegah perusakan body permintaan.