微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用来自云前端分发的签名 cookie 访问受限媒体文件,该分发使用与应用程序域不同的域?

如何解决如何使用来自云前端分发的签名 cookie 访问受限媒体文件,该分发使用与应用程序域不同的域?

我们可以将应用程序域中的 cookie 分配给不同的域吗?例如,我们需要访问使用 d1fzlamzw9yswb.cloudfront.net 分发版的受限媒体文件,但是如果我们在 localhost 或任何其他域中运行应用程序,则不允许我们以编程方式将 cookie 分配给 d1fzlamzw9yswb.cloudfront.net。它通常将 cookie 设置为应用程序域。

不知何故,通过将浏览器中的 cookie 手动分配给 d1fzlamzw9yswb.cloudfront.net,我们能够毫无问题地访问内容

因此,如果应用程序在另一个域(本地主机或任​​何其他域)中运行,我们如何将 cookie 分配给我们需要访问受限媒体文件的不同域?这样做的最佳方法是什么?

解决方法

显然不允许为不同的域设置 cookie。

但是,可以在签名 cookie 中使用顶级域,例如 .example.com。如果正确设置,此 cookie 将始终发送到向 example.com 发出的任何请求,但也会发送到其任何子域,例如 cloudfront.example.com。因此,我们可以利用这一点,让我们在 backend.example.com 上运行的后端服务为 .example.com 创建和设置签名 cookie。稍后,当前端请求文件表单 cloudfront.example.com 时,它会自动在请求中包含签名的 cookie。

此方法需要为 Cloud Front 分发提供自定义域。这里docs how to do that

最好的,斯蒂芬

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。