Alibaba Cloud LIVE のライブスナップショットおよびライブ録画サービスでは、HTTP および HTTPS コールバックに特定の署名ヘッダーを追加できます。コールバックサーバーは、このヘッダーを使用して署名を認証し、不正または無効なリクエストを防ぐことができます。このトピックでは、HTTP コールバック認証のパラメーター、ルール、および注意事項について説明します。
適用機能
認証パラメーター
次の表に、HTTP コールバックリクエストヘッダーに追加できる認証パラメーターを示します。
フィールド | 説明 |
ALI-LIVE-TIMESTAMP | コールバックリクエストが開始された時刻。値は秒単位の UNIX タイムスタンプです。 |
ALI-LIVE-SIGNATURE | 署名文字列。32 ビットの MD5 ハッシュです。詳細については、「署名の計算」をご参照ください。 |
署名の計算
ALI-LIVE-SIGNATURE パラメーターの値は、次の表で説明するパラメーターの値に基づいて生成されます。
フィールド | 例 | 説明 |
コールバックドメイン名 |
| コールバック URL のホスト。たとえば、コールバック URL が |
ALI-LIVE-TIMESTAMP | 1519375990 | コールバックリクエストが開始された時刻。値は秒単位の UNIX タイムスタンプです。 |
NotifyAuthKey | yourkey | プリセットされた署名キー。 説明 UpdateLiveSnapshotNotifyConfig 操作を呼び出して NotifyAuthKey を更新します。 |
パラメーターの連結
3 つのフィールドを縦棒 (|) で区切って連結し、連結された文字列の 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 ハッシュを計算します。サーバーはこのハッシュを ALI-LIVE-SIGNATURE フィールドの値と比較します。値が一致しない場合、リクエストは無効です。
コールバックサーバーは現在の時刻を取得し、コールバックリクエストの ALI-LIVE-TIMESTAMP フィールドで指定された時刻を減算します。差が 5 分などの指定された期間を超えた場合、リクエストは無効と見なされます。この期間はサーバーで定義します。
時刻設定の誤りなどの要因により、時間差が不正確になる場合があります。サーバーがこの検証を実行するかどうかは、お客様側で決定できます。
注意事項
コールバック認証は任意ですが、有効化することを推奨します。NotifyAuthKey を設定すると、コールバックリクエストには認証関連のすべてのコンテンツが含まれます。コールバックサーバーは、このコンテンツを使用して認証できます。NotifyAuthKey を設定しても、既存の機能には影響しません。検証を実行するかどうかは、お客様側で決定できます。
NotifyAuthKey を設定しなくても、サービスに影響はありません。
更新された NotifyAuthKey は、アップストリーミングを再開した後にのみ有効になります。進行中のアップストリーミングの場合、コールバックは引き続き古い NotifyAuthKey を使用します。