【发布时间】:2023-04-08 10:21:01
【问题描述】:
我有一个使用 https 协议与服务器通信的 Angular Js 应用程序。我使用 cookie 来存储登录的用户名和 jwt 令牌。下面是我用来设置 cookie 的代码。
$cookies.putObject('token', token, {
expires: exp,
secure: true
});
为了获得安全团队对我的应用程序的许可,我需要为 cookie 设置 HttpOnly 标志。
当我打开我网站的 cookie 时,我看到两个项目
- connect.sid - 不确定它是如何创建的。我不做 任何明确创建此 cookie 的内容。
- token - 这是我创建的用于存储用户及其 jwt 令牌的 cookie。
我用谷歌搜索并进行了必要的更改以在这些 cookie 上设置 HttpOnly 标志。它起作用了,我可以看到两个 cookie 都检查了 HttpOnly 标志。但是在此更改之后,我的身份验证停止工作(即我无法访问 cookie 中的 jwt 集)。换句话说,我与后端的通信中断了。我使用下面的语句来读取 cookie。
$cookies.getObject('token')
我必须恢复一些更改才能恢复到以前的状态。现在,connect.sid cookie 设置了 HttpOnly 标志,而令牌 cookie 没有。我想知道这里一定是什么问题。我是 Angular Js 的新手,以前从未从事过 Cookie 管理工作。任何帮助将不胜感激。
【问题讨论】:
标签: angularjs cookies https httponly