Katalog Webservice - MyQIM Versi 1.0

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 X-cons-id 123456789 create consumer ID
2 X-timestamp 123123123 generated unix-based timestamp
3 X-signature DogC5UiQurNcigrBdQ3QN5djfjfhjUDodjhDHDF9v0= generated signature dengan pola HMAC-256

1. X-cons-id, merupakan kode consumer (pengakses web-service).

2. X-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-signature, merupakan hasil dari pembuatan signature yang dibuat oleh client. Signature yang digunakan menggunakan pola HMAC-SHA256.

Untuk dapat mengakses web-service , pemanggil web service (Android MyQIM) akan mendapatkan:
• Consumer ID
• Consumer Secret


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 (X-signature).

Contoh:
consumerID : 123456789
consumerSecret : password
timestamp : 123123123
variabel1 : consumerID&timestamp
variabel1 : 123456789&123123123

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 : 20BKS3PWnD3XU4JbSSZvVlGi2WWnDa8Sv9uHJ+wsELA=
Diatas adalah hasil generate dari server MyQIM

Signature : HMAC-256(value : key)
value : variabel1
key : consumerSecret
Signature : HMAC-256(variabel1 : consumerSecret)

Contoh Pembuatan Signature