【发布时间】:2021-09-17 23:14:48
【问题描述】:
我正在使用 bitbucket 和 AWS 创建 CI/CD。在存储在 S3 存储桶中的 AWS 前端,后端 - EC2 + ElasticBeanstalk。我想使用免费的 SSL,这就是我使用 CloudFront 包装它们的原因。现在我可以看到为非身份验证用户显示的所有内容。我使用 COOKIE 进行了身份验证,我的意思是我设置了 COOKIE 属性并在后端和前端检查它以访问用户仪表板。前端和后端使用不同的 CF 路由。这就是我尝试配置 CORS 的原因。对于 S3 存储桶,我设置了下一个 CORS 配置:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
我的后端正在使用下一个 CORS 配置(这是来自 express 应用程序的示例)
{
allowedHeaders: [
'Origin',
'X-Requested-With',
'Content-Type',
'Accept',
'X-Access-Token',
'Access-Control-Allow-Methods'
],
credentials: true,
methods: 'GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE',
origin: true,
preflightContinue: false,
}
问题是,当我尝试为前端设置身份验证 COOKIE 时。我看到使用正确的 COOKIES 请求后端,但浏览器没有设置 COOKIE,这就是前端部分关闭对用户仪表板的访问的原因。如何为浏览器设置 COOKIE? UI 主机和后端主机不同。
附:如果我错过了任何有用的信息,请告诉我,我会更新这个问题。
【问题讨论】:
标签: amazon-web-services amazon-s3 cookies amazon-elastic-beanstalk amazon-cloudfront