Help
Secara umum, hampir setiap pemanggilan web-service, harus dicantumkan beberapa variabel yang dibutuhkan untuk menambahkan informasi ataupun untuk proses validasi yang dikirim pada HTTP Header, antara lain:
# | Nama Header | Nilai | Keterangan |
---|---|---|---|
1 | username | admin | username dari Rumah Sakit QIM |
2 | password | 234234234 | password dari Rumah Sakit QIM |
3 | timestamp | 234234234 | generated unix-based timestamp |
4 | x-token | fa8426a0-8eaf-4d22-8e13-7c1b16a9370c | generated dengan pola HS256 |
1. username & password, merupakan kode consumer (pengakses web-service). Kode ini akan diberikan oleh Rumah Sakit QIM kepada BPJS.
2. timestamp, merupakan waktu yang akan di-generate oleh client saat ingin memanggil setiap service. Format waktu ini ditulis dengan format unix-based-time (berisi angka, tidak dalam format tanggal sebagaimana mestinya). Format waktu menggunakan Coordinated Universal Time ( UTC), dalam penggunaannya untuk mendapatkan timestamp, rumus yang digunakan adalah (local time in UTC timezone in seconds) - (1970-01-01 in seconds).
3. x-token, merupakan hasil dari pembuatan signature yang dibuat oleh client. Signature yang digunakan menggunakan pola HMAC-SHA256.
Untuk dapat mengakses web-service dari Rumah Sakit QIM (service provider), pemanggil web service (service consumer) akan mendapatkan:
• Username
• Password
Informasi Consumer Secret, hanya disimpan oleh service consumer. Tidak dikirim ke server web-service, hal ini untuk menjaga pengamanan yang lebih baik. Sedangkan kebutuhan Consumer Secret ini adalah untuk men-generate Signature (token).
Contoh:
username : user
password : 12345
timestamp : 433223232
x-token : username&password×tamp
x-token : user&12345&433223232
SIGNATURE
Metode signature yang digunakan adalah menggunakan HMAC-SHA256, dimana paramater saat generate signature dibutuhkan parameter message dan key.
Berikut contoh hasil generate HMAC-SHA256
message : aaa
key : bbb
hasil generate HMAC-SHA256 : eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiJhZG1pbjEyIiwidGltZXN0YW1wIjoiMTU4NjE1MjQwMSJ9.abh-JgrElSWD-S4d21DaeG7p4VVGRYH2EVCG1ZLsNPA
Diatas adalah hasil generate dari server Rumah Sakit QIM