Layanan LIVE snapshot dan LIVE recording di Alibaba Cloud LIVE memungkinkan Anda menambahkan header signature tertentu ke callback HTTP dan HTTPS. Server callback Anda dapat menggunakan header ini untuk mengautentikasi signature dan mencegah permintaan yang tidak sah atau tidak valid. Topik ini menjelaskan parameter, aturan, dan pertimbangan untuk autentikasi callback HTTP.
Fitur yang berlaku
Parameter autentikasi
Tabel berikut menjelaskan parameter autentikasi yang dapat Anda tambahkan ke header permintaan callback HTTP.
Field | Description |
ALI-LIVE-TIMESTAMP | Waktu saat permintaan callback dimulai. Nilainya berupa Stempel waktu UNIX dalam satuan detik. |
ALI-LIVE-SIGNATURE | String signature, yaitu hash MD5 sepanjang 32 bit. Untuk informasi selengkapnya, lihat algoritma signature. |
Perhitungan tanda tangan
Nilai parameter ALI-LIVE-SIGNATURE dihasilkan berdasarkan nilai parameter yang dijelaskan dalam tabel berikut.
Field | Example | Description |
Callback domain name |
| Host dalam URL callback. Misalnya, jika URL callback adalah |
ALI-LIVE-TIMESTAMP | 1519375990 | Waktu saat permintaan callback dimulai. Nilainya berupa Stempel waktu UNIX dalam satuan detik. |
NotifyAuthKey | yourkey | Kunci tanda tangan yang telah ditetapkan sebelumnya. Catatan Panggil operasi UpdateLiveSnapshotNotifyConfig untuk memperbarui NotifyAuthKey. |
Menggabungkan parameter
Gabungkan ketiga field tersebut, dipisahkan dengan tanda pipa (|), lalu hitung hash MD5 dari string yang digabungkan tersebut. Contohnya:
MD5Content = Callback domain name|ALI-LIVE-TIMESTAMP|NotifyAuthKey
ALI-LIVE-SIGNATURE = md5sum(MD5Content)Perhitungan field
Contoh berikut menunjukkan cara menghitung nilai field ALI-LIVE-SIGNATURE.
ALI-LIVE-SIGNATURE = md5sum(learn.aliyundoc.com|1519375990|yourkey)Aturan autentikasi
Server callback menggabungkan domain name callback yang dikonfigurasi, nilai ALI-LIVE-TIMESTAMP, dan string NotifyAuthKey. Kemudian, server menghitung hash MD5 dari string yang digabungkan tersebut dan membandingkannya dengan nilai field ALI-LIVE-SIGNATURE. Jika nilainya tidak sesuai, permintaan tersebut tidak valid.
Server callback mengambil waktu saat ini dan menguranginya dengan waktu yang tercantum dalam field ALI-LIVE-TIMESTAMP pada permintaan callback. Jika selisihnya melebihi periode tertentu—misalnya 5 menit—permintaan tersebut dianggap tidak valid. Anda menentukan periode ini di server Anda.
Selisih waktu mungkin tidak akurat karena faktor seperti pengaturan waktu yang salah. Anda dapat memutuskan apakah server Anda melakukan validasi ini atau tidak.
Pertimbangan
Autentikasi callback bersifat opsional, tetapi kami merekomendasikan agar Anda mengaktifkannya. Jika Anda menetapkan NotifyAuthKey, permintaan callback akan menyertakan semua konten terkait autentikasi. Server callback Anda kemudian dapat menggunakan konten ini untuk autentikasi. Penetapan NotifyAuthKey tidak memengaruhi fitur yang sudah ada. Anda dapat memutuskan apakah akan melakukan validasi atau tidak.
Layanan Anda tidak terpengaruh jika Anda tidak menetapkan NotifyAuthKey.
NotifyAuthKey yang diperbarui hanya berlaku setelah Anda melakukan restart stream ingest. Untuk stream ingest yang sedang berjalan, callback tetap menggunakan NotifyAuthKey lama.