M3U8签名
M3U8签名
接口描述
M3U8签名用于私有空间中的 m3u8 文件,作用是对 m3u8文件中的 ts 资源进行批量下载授权。通过将 ts 资源的 url 改写成私有 url,以临时获取访问权限。
权限说明
所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}
。
- version是正整数。
- timestamp是生成签名时的UTC时间。
- expirationPeriodInSeconds表示签名有效期限。
- signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
- signature是256位签名的十六进制表示,由64个小写字母组成。
当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见 鉴权认证。
注意事项
如果请求未携带签名认证认证信息,该接口将返回对象原数据。
请求结构
GET /<ObjectName>?x-bce-process=hls/sign,expires_3600 HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求query参数
参数名称 | 类型 | 描述 |
---|---|---|
x-bce-process | string | bos数据处理参数,获取M3U8签名为x-bce-process=hls/sign,expires_xxx |
- 操作分类 hls
- 操作名称 sign
M3U8签名接口参数定义如下:
-
参数说明
参数名称 类型 取值 命令描述 是否必选 expires int [3600,43200] 生成签名过期时间,单位秒 是
使用示例
GET http://databin.bj.bcebos.com/hls/demo.m3u8?x-bce-process=hls/sign,expires_3600
Host: databin.bj.bcebos.com
X-Bce-Date:2022-11-16T11:54:00Z
Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2015-08-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
原始m3u8链接与内容如下所示:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:62
#EXTINF:61.120000,
000000.ts
#EXTINF:59.360000,
000001.ts
#EXTINF:59.640000,
000002.ts
#EXTINF:2.480000,
000003.ts
#EXT-X-ENDLIST
对m3u8资源使用m3u8签名接口,可以获取到相应的批量授权下载URL:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:62
#EXTINF:61.120,
000000.ts?x-bce-security-token=ZjkyZmQ2YmQxZTQ3NDcyNjk0ZTg1ZjYyYjlkZjNjODB8AAAAALECAABEAdI6kNdjSB%2BTmHpMSc0dMXaWHGlooj7S5Db3cCJveP%2BeiUwao6%2FlWgUhpzSWB%2BO2LT3tC%2BZpBv2umQRVUmn3MX%2FwbjjpuOkINK9mFUmjOQpWs7rO9msV84e9oXbMuiwUwEF9OiKsCqntaiY4zu3sx9v0cwI5tGbW5mUmDkQa3C1HSLLZS9E5XAY56O10fxauSymZ9Pdd0yTYG383W0wJbg4FQEzNU6yrnBxvouX8TNZHKfZ4v9VR%2FgyICPChGByiOp%2Fsx%2BP0V7xE1RrhUKPRG3ZB%2Fn1wqVcXEVudgz6yJZ0cj5e0oC0s6ze6BVc8ML51EzNQv1QL802hYeydc7UFMwtEkzgQrRPQ9hjtgobJte%2BlPGdgnxZ61ThjmRzrhL64CoZMjwQnn0nyDZuRbcpStDB9D%2B00gJS4ORwup9RuVqNd7yaPnAzs02ggvbykeUpir2bGeJveBGi45r2ZVoS%2FFuKviXEW2eslHEwH8kYps0YvOndUbLG9SO0PjLPWERVd4%2Bmdw%2FM3b5ItfFpOXkOu&authorization=bce-auth-v1%2Fd7c4970a293311eeaaccb55a6be64ec1%2F2023-07-23T08%3A35%3A13Z%2F3600%2Fhost%2Ffec8f161023133c69368b58f33eeb88650fc0e9829833c5fb8dd43a823f8eaf0
#EXTINF:59.360,
000001.ts?x-bce-security-token=ZjkyZmQ2YmQxZTQ3NDcyNjk0ZTg1ZjYyYjlkZjNjODB8AAAAALECAABEAdI6kNdjSB%2BTmHpMSc0dMXaWHGlooj7S5Db3cCJveP%2BeiUwao6%2FlWgUhpzSWB%2BO2LT3tC%2BZpBv2umQRVUmn3MX%2FwbjjpuOkINK9mFUmjOQpWs7rO9msV84e9oXbMuiwUwEF9OiKsCqntaiY4zu3sx9v0cwI5tGbW5mUmDkQa3C1HSLLZS9E5XAY56O10fxauSymZ9Pdd0yTYG383W0wJbg4FQEzNU6yrnBxvouX8TNZHKfZ4v9VR%2FgyICPChGByiOp%2Fsx%2BP0V7xE1RrhUKPRG3ZB%2Fn1wqVcXEVudgz6yJZ0cj5e0oC0s6ze6BVc8ML51EzNQv1QL802hYeydc7UFMwtEkzgQrRPQ9hjtgobJte%2BlPGdgnxZ61ThjmRzrhL64CoZMjwQnn0nyDZuRbcpStDB9D%2B00gJS4ORwup9RuVqNd7yaPnAzs02ggvbykeUpir2bGeJveBGi45r2ZVoS%2FFuKviXEW2eslHEwH8kYps0YvOndUbLG9SO0PjLPWERVd4%2Bmdw%2FM3b5ItfFpOXkOu&authorization=bce-auth-v1%2Fd7c4970a293311eeaaccb55a6be64ec1%2F2023-07-23T08%3A35%3A13Z%2F3600%2Fhost%2F3d146f7de5ec5390a364bcf3ab4da8da7d264567c88371cf77c0817b26a22af6
#EXTINF:59.640,
000002.ts?x-bce-security-token=ZjkyZmQ2YmQxZTQ3NDcyNjk0ZTg1ZjYyYjlkZjNjODB8AAAAALECAABEAdI6kNdjSB%2BTmHpMSc0dMXaWHGlooj7S5Db3cCJveP%2BeiUwao6%2FlWgUhpzSWB%2BO2LT3tC%2BZpBv2umQRVUmn3MX%2FwbjjpuOkINK9mFUmjOQpWs7rO9msV84e9oXbMuiwUwEF9OiKsCqntaiY4zu3sx9v0cwI5tGbW5mUmDkQa3C1HSLLZS9E5XAY56O10fxauSymZ9Pdd0yTYG383W0wJbg4FQEzNU6yrnBxvouX8TNZHKfZ4v9VR%2FgyICPChGByiOp%2Fsx%2BP0V7xE1RrhUKPRG3ZB%2Fn1wqVcXEVudgz6yJZ0cj5e0oC0s6ze6BVc8ML51EzNQv1QL802hYeydc7UFMwtEkzgQrRPQ9hjtgobJte%2BlPGdgnxZ61ThjmRzrhL64CoZMjwQnn0nyDZuRbcpStDB9D%2B00gJS4ORwup9RuVqNd7yaPnAzs02ggvbykeUpir2bGeJveBGi45r2ZVoS%2FFuKviXEW2eslHEwH8kYps0YvOndUbLG9SO0PjLPWERVd4%2Bmdw%2FM3b5ItfFpOXkOu&authorization=bce-auth-v1%2Fd7c4970a293311eeaaccb55a6be64ec1%2F2023-07-23T08%3A35%3A13Z%2F3600%2Fhost%2F9bfe3ff75fba9a48fc22b212ba7168810b82540fe656aac3da4f8960d2a58939
#EXTINF:2.480,
000003.ts?x-bce-security-token=ZjkyZmQ2YmQxZTQ3NDcyNjk0ZTg1ZjYyYjlkZjNjODB8AAAAALECAABEAdI6kNdjSB%2BTmHpMSc0dMXaWHGlooj7S5Db3cCJveP%2BeiUwao6%2FlWgUhpzSWB%2BO2LT3tC%2BZpBv2umQRVUmn3MX%2FwbjjpuOkINK9mFUmjOQpWs7rO9msV84e9oXbMuiwUwEF9OiKsCqntaiY4zu3sx9v0cwI5tGbW5mUmDkQa3C1HSLLZS9E5XAY56O10fxauSymZ9Pdd0yTYG383W0wJbg4FQEzNU6yrnBxvouX8TNZHKfZ4v9VR%2FgyICPChGByiOp%2Fsx%2BP0V7xE1RrhUKPRG3ZB%2Fn1wqVcXEVudgz6yJZ0cj5e0oC0s6ze6BVc8ML51EzNQv1QL802hYeydc7UFMwtEkzgQrRPQ9hjtgobJte%2BlPGdgnxZ61ThjmRzrhL64CoZMjwQnn0nyDZuRbcpStDB9D%2B00gJS4ORwup9RuVqNd7yaPnAzs02ggvbykeUpir2bGeJveBGi45r2ZVoS%2FFuKviXEW2eslHEwH8kYps0YvOndUbLG9SO0PjLPWERVd4%2Bmdw%2FM3b5ItfFpOXkOu&authorization=bce-auth-v1%2Fd7c4970a293311eeaaccb55a6be64ec1%2F2023-07-23T08%3A35%3A13Z%2F3600%2Fhost%2F04fdee6283aeb8c9be1a6ea042887986ff9368be1b187adb74351dcc3793b2ce
#EXT-X-ENDLIST
注意:ts资源签名以该对象为 m3u8 文件同级目录 URL 为准.
以上面 m3u8 文件为例,对象 URL 为 http://databin.bj.bcebos.com/hls/demo.m3u8
, 则内部文件 000000.ts 签名的实际 URL 为 http://databin.bj.bcebos.com/hls/000000.ts