无法为云端设置 cookie 以进行基于安全 cookie 的身份验证

Unable to set cookies for cloudfront for secure cookie based authentication

在我们的项目中,我们正在尝试为使用 cloudfront cdn 访问的内容集成 cookie-based 身份验证。假设我的应用程序域是 A.com 并且正在从 B.com 访问。 A.com 的内容通过 cloudfont cdn 提供。现在 B.com 想要从安全的云端 cdn 访问内容。通常 B.com 请求 A.com 内容。 A.com 将请求重定向到 cloudfront cdn。 B.com 必须通过带有重定向请求的 cookie 将身份验证信息发送到 cloudfront.net。 see this for an elaborate diagram. 现在,我在初始请求的响应 header 中设置 cookie,但无法在重定向请求 header 到 cloudfront.net 域中找到它。结果我收到 403 响应并且无法访问内容。

A.com 可以在访问 B.com 域中托管的应用程序的用户浏览器中设置必要的 cookie。这些第三方 cookie 将存储在用户的浏览器中。当您再次访问 A.com 域时,存储的第三方 cookie 将由用户的浏览器随请求自动发送。

我看到您想将 A.com 域 cookie 发送到 cloudfront.net 域,但浏览器不允许。由于所需的 cookie 未随重定向请求一起发送到 cloudfront.net,该请求返回 403 禁止响应。

如果您同时拥有 cdn 分发和 A.com 域,那么您可以创建一个 cname,例如 cdn。A.com 它将指向您的 cdn 分发。 现在,当请求被重定向到 cdn.A.com 以获取内容时,必要的第三方 cookie 将随请求一起发送,并且可以毫无问题地访问文件。