node.js - 跨域 HttpOnly Cookie
问题描述
我有一个网站:
www.example.com
该网站是一个单页应用程序 (SPA),它调用此子域中的 API:
api.example.com
今天我在 API 中使用授权标头(承载令牌),但我试图用 Cookie 替换它,因为如果我使用标志“HttpOnly”,Javascript 无法访问 cookie,然后我可以防止 XSS 攻击。
当用户登录(“api.example.com/login”)时,我正在使用此代码在 Node.js 中设置 cookie:
exports.handler = async function(event) {
...
let userSessionId = ...
...
response['headers']['Set-Cookie'] = `user_session_id=${userSessionId}; HttpOnly`;
return response;
}
浏览器正在接收“Set-Cookie”标头,但未在后续 API 调用中传递它。
是否可以将 AJAX 请求中的“HttpOnly”cookie 从“www.example.com”发送到“api.example.com”?
我应该将我的 API 端点更改为“www.example.com/api”吗?或者还有其他选择吗?如果可能,我想将 API 保留在不同的子域(“api.example.com”)中。
解决方案
推荐阅读
- html - 内容安全策略:页面设置阻止在 http://127.0.0.1:8000/favicon.ico (“default-src”) 加载资源
- python - Numpy:比较两个数组并创建一个掩码
- javascript - 在 AWS 问题上部署 PRN 堆栈
- powerbi - Power BI-创建条形图问题
- node.js - Socket.IO 未从 Web 浏览器连接
- api - 在空异常颤动时调用了方法“[]”
- python - 我的版本。0.761 和 0.812:类型语法要求存在巨大差异。有办法绕过他们吗?
- python - 删除仅与其他列中的一个值相关的行 pandas
- python - matplotlib 的 webagg 后端在图像上带有动画艺术家导致性能非常缓慢
- firebase - 从 Firebase Unity 桌面应用程序登录 Google