AWS ALB OIDC 身份验证 Cookie 域问题



我有一个 AWS Cloudfront 托管网页,该网页从 S3 获取静态页面,并调用自定义源 (ALB( 以获取动态数据。ALB 上启用了 OIDC 身份验证,因此对自定义源(我的 API(的调用通过 ALB 设置的规则传递。

在特殊情况下,当我对自定义源的请求未经身份验证时,我被重定向到 IdP 进行登录,成功登录后,我在响应标头中获取 cookie,因为此请求是从 ALB 发送到 IdP - 发出的 cookie 具有域作为 ALB DNS。为了使我的网页使用此 Cookie,我必须将调用重定向到 Cloudfront URL。现在,该 Cookie 已颁发给具有不同 DNS 的 ALB,而我的 Cloudfront URL 具有不同的 DNS,因此我无法使用该 Cookie。

我试图捕获cookie值,但由于它是为不同的域颁发的,因此我无法捕获,作为设计的一部分,我觉得这是错误的。是否有人面临类似类型的问题。

AWS ALB OIDC 为您在侦听器规则中配置身份验证操作的同一请求主机域设置会话 Cookie。

此外,他们设置了一个仅限http的安全cookie,这意味着您根本无法通过客户端Javascript访问它。

考虑到这一点以及您的设置,似乎您实际上需要一个(微小的(网页后端,以便您可以在从该后端内部对上述自定义源进行 API 调用时访问响应 cookie。

最新更新