全部產品
Search
文件中心

:截圖回調鑒權說明

更新時間:Jun 30, 2024

直播截圖服務支援在HTTP(含HTTPS)回調時增加特定簽名頭,供回調訊息接收服務端進行簽名認證,以防止非法或無效請求。本文為您介紹HTTP回調鑒權的參數、規則和注意事項。

鑒權參數

在回調HTTP頭部增加的具體鑒權參數如下。
欄位描述
ALI-LIVE-TIMESTAMP表示回調請求發起時間,使用UNIX時間戳記表示(單位:秒)。
ALI-LIVE-SIGNATURE簽名字串,為32位MD5值,詳細說明參見下表簽名演算法

簽名演算法

ALI-LIVE-SIGNATURE的計算依賴如下欄位。

欄位樣本描述
回調網域名稱learn.aliyundoc.com指回調URL中的Host。如回調URL為https://learn.aliyundoc.com/your/callback,則回調網域名稱為learn.aliyundoc.com
ALI-LIVE-TIMESTAMP1519375990表示回調請求發起時間,使用UNIX時間戳記表示(單位:秒)。
NotifyAuthKeyyourkey使用者預設的簽名Key。
說明 可調用UpdateLiveSnapshotNotifyConfig介面更新NotifyAuthKey。

欄位拼接

將上述三個欄位進行拼接,欄位中間以豎線(|)分割後計算MD5值,如下所示。
MD5Content = 回調網域名稱|ALI-LIVE-TIMESTAMP|NotifyAuthKey
ALI-LIVE-SIGNATURE = md5sum(MD5Content)

欄位計算

ALI-LIVE-SIGNATURE欄位計算方法樣本如下。
ALI-LIVE-SIGNATURE = md5sum(learn.aliyundoc.com|1519375990|yourkey)

回調訊息接收服務端校正規則

  • 回調訊息接收端將回調所設定的回調網域名稱、ALI-LIVE-TIMESTAMP取值、NotifyAuthKey字串拼接後,進行MD5值計算,得到加密串,再將加密串與ALL-LIVE-SIGNATURE欄位進行對比,如果不一致,則請求非法。
  • 回調訊息接收端擷取目前時間,與回調請求所帶的ALI-LIVE-TIMESTAMP欄位時間相減,如果超過服務端所設定的指定時間(如5分鐘,由服務端自行定義),則認為該請求無效。
說明 由於時間設定等問題,時間差值可能會有誤差,服務端可自行決定是否進行該校正。

注意事項

  • 回調鑒權和是否開啟由使用者決定(建議開啟)。一旦設定了NotifyAuthKey,則回調時會攜帶所有鑒權相關內容,供回調訊息接收服務端進行鑒權使用,即設定NotifyAuthKey不會影響原有功能,涉及是否校正需由使用者決定。
  • 未設定NotifyAuthKey使用者不會受任何影響。
  • NotifyAuthKey更新後需要重新推流才會生效,正在推流中的回調還是使用舊的NotifyAuthKey。