【发布时间】:2022-01-20 20:37:04
【问题描述】:
请记住,这个问题是针对将 HttpOnly 标志设置为 true 的 cookie。
我很确定我的问题的答案是否定的,但我一直很难通过官方文档或此处的其他帖子找到答案。这是某些上下文的简单用例:
- Python 后端 Web 应用程序 (api.domain.com)
- 前端 JavaScript SPA (app.domain.com)
- 使用带有正确
username和password的axios从app.domain.com发出对@987654326@的请求,并在正文中返回带有accessJWT令牌的响应,并且响应设置了带有refresh的cookie HttpOnly 标志 [应该失败,因为我相信无法在app.domain.com上从 API 请求到api.domain.com设置 cookie? -- 这是我的问题] -
access令牌存储在内存中,并随每个 API 请求一起传递 - 向
api.domain.com/api/auth/refresh/发出的请求会按计划发送以刷新短暂的access令牌。
我通常将前端应用程序和后端应用程序托管在同一个子域 (app.domain.com) 上,并使用 CloudFront 或 nginx 之类的东西进行基于路径的路由,这很有效。例如,所有以/api/* 开头的请求都发送到后端,所有其他请求都发送到前端应用程序。无论我使用什么选项在服务器上设置 cookie,尝试为 API 使用单独的子域似乎都失败了。
谁能帮我确认实际上不可能通过api.domain.com 上托管的 API 请求在 app.domain.com 之类的子域上设置 HttpOnly cookie?如果有人也可以帮助我找到可以在官方文档中找到的位置,那就太好了。
搜索set httpOnly cookie across subdomains,我没有找到任何直接相关的内容。我也没有在这些资源中找到直接回答我问题的任何内容:
https://owasp.org/www-community/HttpOnly
https://docs.microsoft.com/en-us/previous-versions//ms533046(v=vs.85)?redirectedfrom=MSDN
【问题讨论】:
标签: authentication cookies single-page-application httponly cookie-httponly