鉴权模式E

更新时间:2024-07-17 17:30:43

目录


本文将为您详细介绍鉴权模式E的原理和使用说明。

鉴权URL构成及说明

与模式C和模式D相似,模式E需要将鉴权信息作为请求参数附加在URL中。模式E的鉴权URL结构如下:

http://domain/uri?auth_key=<time>-<rand>-<uid>-<key>

注意:在以上URL示例中,我们使用了<>来表示鉴权参数的位置,实际URL中不会包含这些符号。在实际应用中,您只需按照指定的格式构建URL即可。

在上述URL结构中,auth_key是URL中唯一的鉴权请求参数,包括timeranduidkey四个部分。各个字段的说明如下:

字段 说明
domain 您在CDNetworks平台上注册的域名。
uri 实际请求CDN的URL地址部分。例如,原始请求URL为http://cdnetworks.com/browse/index.html,则uri应为/browse/index.html。注意,如果请求URL包含额外参数(例如/browse/index.html?user=123),uri应仅包括路径部分,不包括问号及其后的参数。
time URL生成时间的时间戳。CDN边缘服务器会依据这个时间戳判断URL是否在设定的有效期内。如果当前时间超过有效期,CDN将不再提供该内容。注意:模式E下时间戳格式只支持十进制Unix时间戳
rand 该值是一个您可以任意指定的字符串,在鉴权签名的计算中,需要包含该字符串的值。
uid 为一个随机指定的数值,uid的值也将用于鉴权签名的计算。
key 鉴权校验用的加密字符串。模式E中,key的计算方式为key=md5(uri-time-rand-uid-ourkey)。例如,原始请求为http://cdnetworks.com/browse/index.html,时间戳为1715916795,随机字符串为7asdD6JEYMpCzX,随机数为0,自定义密钥为cdnw,则生成的鉴权URL为http://cdnetworks.com/browse/index.html?auth_key=1715916795-7asdD6JEYMpCzX-0-2a59386824bd900252600160f446c227

如何配置模式E

鉴权模式设置中,勾选模式E进行相应配置。接下来,我们将详细解释各配置字段的用途和设置方法。

自定义加密密钥($ourkey)

自定义加密密钥($ourkey)是生成URL鉴权加密字符串key的独特字符串。由于该密钥仅为您和CDN服务器共享,它极大地增强了URL鉴权参数的安全性。在控制台中,您可以方便地设置多个ourkey值,并通过;符号分隔。

当配置多个ourkey时,CDN边缘服务器会按顺序尝试这些值进行鉴权。如果首个ourkey验证失败,服务器将依次尝试下一个,直至找到有效密钥或所有密钥均验证失败。

密钥计算方式

鉴权加密字符串key的生成依赖于特定的加密算法。当前,我们默认使用MD5算法进行加密,但出于系统安全性的考虑,该算法暂不支持通过控制台直接更改。若您希望采用其他加密算法以提高安全性,请与我们专业的技术支持团队联系,他们将会协助您完成默认加密算法的更换工作。

密钥参数名

密钥参数名是URL中鉴权签名参数的名称,默认命名为auth_key。您可以自定义这个参数名称。例如,将其设置为cdnwkey,则客户端可以使用http://cdnetworks.com/browse/index.html?cdnwkey=123形式的URL请求内容。

有效时间(秒)

我们提供三种方法配置URL鉴权信息的有效期:

  • 配置有效期上限:设定鉴权信息的最大有效期,输入一个非负整数(如60),表示从时间戳开始,多少秒内鉴权信息有效。
  • 配置有效期上下限:设定鉴权信息的有效时间范围,输入两个用逗号分隔的数值。第一个数值表示从时间戳之前的有效期(应小于等于0),第二个数值表示从时间戳之后的有效期(应大于等于0)。例如,输入-60,60,表示时间戳前后各一分钟内有效。
  • 不进行有效期校验:不希望系统校验有效期时,输入一个减号-,系统将不检查或限制有效期。

如何验证URL鉴权配置是否正确

由于URL鉴权配置复杂,为避免对线上业务造成影响,建议先将配置部署到测试环境。确认配置无误后,再正式生效至线上环境。具体步骤请参考教程 通过预部署来验证配置是否生效

此外,您可以使用CDN控制台提供的时间戳防盗链计算器Self-Service Configuration for China Premium Service Onboarding自动生成URL鉴权参数,以验证配置是否正确。访问文档 URL鉴权计算器,获取更多详情。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!