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

How to access restricted media files using signed cookies from cloud front distribution which uses a different domain from the application domain?

我们能否将应用程序域中的 cookie 分配给不同的域。例如,我们需要访问使用 d1fzlamzw9yswb.cloudfront.net 分发的受限媒体文件,但是如果我们 运行 本地主机或任​​何其他域中的应用程序不允许我们将 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

最好的,Stefan