更新时间:2025-09-05 17:34:19
本指南介绍如何配置和使用Token身份认证(也称为时间戳防盗链)。该安全特性旨在保护您的直播内容,防止未授权访问和盗链。
通过在您的流式传输URL中添加加密Token和时间戳,您可以控制谁可以访问您的流以及访问的时长。这确保只有持有有效且限定时间的URL的用户才能观看您的内容,从而保障您的流安全,并防止未经授权的分发。
认证流程包含三个主要组成部分:
当用户尝试使用已认证的URL访问流媒体时,我们的边缘服务器将执行如下操作:
如果Token匹配且URL未过期,则允许该用户访问流媒体。否则,拒绝该请求。
要启用并配置令牌认证,请按照以下步骤操作:
以下是配置面板中每个字段的详细说明:
| 字段 | 描述 | 示例/默认值 |
|---|---|---|
| 应用名称 | 指定此规则适用的应用。如果留空,则适用于全部应用。 注意:此应用名称需与当前Domain所配置的应用名称保持一致。 |
live,vod |
| 密文参数名称 | URL中Token加密后的参数名称。 | 默认值:wsSecret |
| 时间参数名称 | URL中时间戳参数的名称。 | 默认值:wsTime |
| KEY | 用于生成Token加密签名的私有密钥。 | mysecretkey |
| 加密时间格式 | 时间戳的格式。 | UNIX时间戳 或 十六进制 |
| 有效期 | URL的过期时间处理方式。 | 按时长、按绝对时间、按有效时间或不校验时间。 |
| 有效时长 | 链接的有效持续时长(秒)。(“按时长”方式下必填) | 3600(即1小时) |
| 错误容差时间 | 此项设置用于为时间校验提供容差(单位为秒),防止因您的服务器与我们的边缘服务器间存在轻微时间偏差,而导致合法URL校验失败。起到时钟偏差容忍作用。 | 300(即5分钟) |
| 密文组合方式 | 用于生成Token的公式。 | 常见为 KEY+Path+Time |
在控制台完成功能配置后,您需要更新您的应用程序或后端服务器,为用户生成动态的鉴权URL。
核心逻辑是根据您选择的密文组合方式创建一个字符串,并计算其MD5哈希值。注意:实际参与哈希计算的字符串组成部分会根据您选择的有效期方式有所不同。
假设您的配置如下:
mysecretkeyKEY+Path+TimewsSecretwsTimeUNIX时间戳3600 秒(1小时)http://your.domain.com/live/stream1.flv以下是在你的服务器上生成签名URL的方法:
/live/stream1.flv。1678886400。string_to_hash = "mysecretkey/live/stream1.flv1678886400"string_to_hash 字符串进行MD5哈希运算。wsSecret_value = md5("mysecretkey/live/stream1.flv1678886400")b1b5c2c7e8e5e8e5c2c7b1b5c2c7e8e5。http://your.Domain.com/live/stream1.flv?wsSecret=b1b5c2c7e8e5e8e5c2c7b1b5c2c7e8e5&wsTime=1678886400使用此URL的观众将在 1678886400 + 3600 = 1678890000 之前可以访问该流。
当您希望为每个生成的URL动态定义有效期时,此方法非常实用。假设您的配置与前面示例相同,但这次选择了按有效时长。
mysecretkeyKEY+Path+Time(注意:在此模式下,wsKeepTime 的值会在哈希计算时追加在时间戳后面。)wsSecretwsTimeUNIX时间戳7200 秒(2小时)https://your.domain.com/live/stream1.sdp以下是如何在您的服务器上生成签名URL的方法:
/live/stream1.sdp。1678886400。7200。wsKeepTime值)拼接为一个字符串。string_to_hash = "mysecretkey/live/stream1.sdp16788864007200"wsSecret_value = md5("mysecretkey/live/stream1.sdp16788864007200")20722b11be862a6563657a70a8a8167。wsSecret、wsTime和wsKeepTime作为查询参数追加到URL中。https://your.domain.com/live/stream1.sdp?wsSecret=20722b11be862a26563657a70a8a8167&wsTime=1678886400&wsKeepTime=7200此方法通过允许生成URL的服务器实时设置过期时间,提供了更高的灵活性。