Autentikasi
Menghasilkan Signature
Menghasilkan Digest
Menetapkan Request Target
<https://sandbox.joss.kemnaker.go.id/api/v1/companies>
, maka nilai Request-Target adalah /api/v1/companies
<https://yourdomain.com/api/company/notifications>
, maka Request-Target adalah /api/company/notifications
Komponen Signature
Parameter | Description |
---|---|
Client-Id | Client ID yang didapatkan dari Kementerian Ketenagakerjaan Republik Indonesia. |
Request-Id | String acak unik yang dihasilkan dari sisi klien untuk melindungi dari duplikasi permintaan. |
Request-Timestamp | Timestamp permintaan dalam format UTC ISO8601 UTC+0. Artinya, jika Anda ingin melanjutkan transaksi di UTC+7 (WIB), klien perlu mengurangi waktu dengan 7. Contoh: untuk melanjutkan transaksi pada 22 September 2022 pukul 08:51:00 WIB, timestamp-nya adalah 2022-09-22T01:51:00Z |
Request-Target | resource-path JOSS tanpa domain. Misalnya: /api/v1/companies |
Digest | String yang di-encode dalam base64 dari body JSON yang di-hash menggunakan algoritma sha256 , atau skip jika permintaan tidak memiliki body. |
Menghasilkan Hash untuk Komponen Signature
1.
|
. Jangan tambahkan |
di akhir string. Contoh format mentah:20bd0244-7e6f-40c8-91a7-6a9c5b787f76|c6ad317b-f21e-43ac-9184-fff4ce087e3c|2022-05-10T22:10:37Z|/api/v1/companies|RBNvo1WzZ4oRRq0W9+hknpT7T8If536DEMBg9hyq/4o=
2.
c91600a51c17cee10aa97c4361e61161ed3a1b88d0dcf9c05c0c25757a430918
Autentikasi Permintaan
Client-Id
, Request-Id
, Request-Timestamp
, dan Signature
ke header permintaan.Parameter Header HTTP
Parameter | Deskripsi |
---|---|
Client-Id | Akan berisi Client ID yang didapatkan dari Kementerian Ketenagakerjaan Republik Indonesia. |
Request-Id | Akan berisi string acak unik yang dihasilkan dari sisi klien untuk melindungi dari duplikasi permintaan. |
Request-Timestamp | Akan berisi timestamp permintaan dalam format UTC ISO8601 UTC+0. Artinya, untuk melanjutkan transaksi di UTC+7 (WIB), klien perlu mengurangi waktu dengan 7. Contoh: untuk melanjutkan transaksi pada 22 September 2022 pukul 08:51:00 WIB, timestamp-nya adalah 2022-09-22T01:51:00Z |
Signature | HMACSHA256={signature} akan berisi parameter keamanan yang perlu dihasilkan di Backend klien dan ditempatkan ke header permintaan untuk memastikan bahwa permintaan tersebut berasal dari klien yang valid. Signature dijelaskan di atas. |
Contoh Kode
PHP
Java
Python
Go