我只想要授权用户在Akamai上查看他们的图像。这可以实现吗?
问题描述:
目前在我的系统中,身份验证背后的所有私人图像都是从我的后端应用程序服务器提供的。所有其他非私人图像直接从CDN(Akamai)提供。我只想要授权用户在Akamai上查看他们的图像。这可以实现吗?
流服务的私人图片是这样
客户端浏览器 - >应用程序服务器 - >授权 - >返回图像位图到浏览器
我想使用CDN私人图像也因为它是把重加载我的应用程序服务器上请建议如何实现?
答
另一种选择是使用Akamai的EdgeAuth令牌在其边缘服务器上执行授权形式。这使您可以在令牌中指定一个ACL来为客户端提供适当的访问权限,例如
"/public/*"
将允许访问您在/公共服务的所有图像
/client123/*
将允许只图像访问下/ client123
担任了您还可以结合这些和建立任意组合:
/client/*|/public/*
等
这确实意味着您需要能够按照这种方式通过路由来分割图像,如果客户端可以访问的方面存在大量不可预知的交叉点,则会变得复杂。
向您的客户端提供服务的流程取决于客户端的工作方式,您可以将标记选项卡上的图像URL本身或在cookie中提供(使用Akamai配置的名称)。令牌通过HMAC签名进行保护,因此它们不会被篡改,您可以根据自己的喜好设置一个小窗口,以确保其有效性。
最新的信息/代码/示例从this article链接,这可以使用从.NET和其他技术以及Java。还有this node library。
如果上述不适用于您,也可以让Akamai始终验证(即授权)您的后端,但是可以从CDN提供资产。这显然消除了使用CDN的一些好处,但如果有必要,在特殊情况下可以为您的一小部分流量带来好处。
答
在akamai中使用Auth 2.0行为。你可以在那里找到更多的细节文件。