【发布时间】:2016-12-26 08:01:27
【问题描述】:
因为我是个便宜货,前几天我有一个想法,用 AWS 每月运行一个不到 5 美分的网络应用程序:
- 通过 S3 提供静态网站 (html/css/javascript)
- 客户端代码和表单通过 API Gateway 发布到 Lambda golang 微服务
- 使用 DynamoDB(25 读取/秒、25 写入/秒、25GB、1GB/mo 输入、1GB/mo 输出)作为数据库
此方案是否适用于 cookie 和基于会话的身份验证,因为页面由一个域名 (S3) 提供服务,但 javascript 正在与另一个域名 (API 网关) 通信?
我可能会遇到哪些其他问题?
【问题讨论】:
-
S3 不会为您提供 cookie,因此您必须使用
document.cookie从 JavaScript 读取和写入 cookie。 -
谢谢,我认为我实际上并不需要访问 javascript 中的 cookie,只需将其通过 AJAX 调用发送到 API Gateway。 HTML 页面(由 www.example.com 提供)将包含一个登录表单。该表单发布到 API Gateway (api.example.com/login),后者通过 HTTPS 返回一个 HttpOnly cookie。从那里,对 api.example.com 的 Javascript XMLHttpRequest 调用应该包括 cookie,对吧?
-
没错。只要您的所有 API 端点都在同一个域上,这应该可以工作。
标签: amazon-web-services amazon-s3 amazon-dynamodb aws-lambda static-site