node.js - 我无法在浏览器(chrome 或 firefox)上设置仅 http cookie
问题描述
我正在尝试使用 expressJs res.cookie 方法设置一个 httpOnly cookie,但是当它在邮递员上设置时,它没有在 chrome 或 firefox 中设置。这种情况简直令人费解,我为调试问题所做的一切都无济于事。这是设置cookie的代码
const refreshJwtExp = 30 * 24 * 60 * 60
return res.cookie('refresh_token', genRefreshJWT(id).token, {
maxAge: refreshJwtExp,
httpOnly: true
})
这是我正在使用的客户端环境:
- Nuxt Js 使用 @nuxt/axios 进行 API 请求
- 在www.roromart.com运行
这是我正在使用的后端 API
- Express Js 节点驱动的后端
- 在roro-api.herokuapp.com上运行
这是我尝试调试问题的方法
- 使用禁用安全性的 chrome 版本。见这里。我设法在本地主机上获得了刷新令牌设置,但在生产网站https://www.roromart.com上却没有
- 在 res.cookie 配置中将“域”设置为“roromart.com”属性。没用
我认为这是一个安全问题,因为它是在邮递员中设置的,并且是 chrome 的安全禁用变体。这里的一个特点是我正在使用两个域(roro-api.herokuapp.com)和www.roromart.com。任何帮助将非常感激
解决方案
推荐阅读
- spring - mongodb和spring boot中的DuplicateKeyException
- java - 使用documents4j转换后删除的文件
- html - 如何使用 CSS 设置固定宽度?
- html - 使用 Bootstrap 为不同的屏幕设置列类
- xml - 使用 xmlstarlet 添加 xml 元素中尚不存在的属性
- python - 从 DataFrame 中获取值
- postgresql - pg_upgrade 工具失败:无效的“未知”用户列
- scala - 比较具有 n 个值的列表的两列,并将数据保存为 scala 中的列表
- wordpress - Siteground 服务器遭到恶意软件攻击
- php - Laravel 数据透视表上的 Uuid