用httponly标志的cookie,用于HTTPS协议上的AngularJS应用程序



我有一个具有HTTPS协议与服务器通信的Angular JS应用程序。我使用cookie存储登录的用户名和jwt代币。以下是我用来设置cookie的代码。

    $cookies.putObject('token', token, {
        expires: exp,
        secure: true
      });

为了从安全团队获得我的应用程序的许可,我需要为cookie设置httponly标志。

当我打开网站的cookie时,我会看到两个项目

  1. connect.sid-不确定如何创建。我不在做任何明确创建此cookie的东西。
  2. 令牌 - 这是我创建的cookie来存储用户和他的JWT令牌。

我搜索了谷歌搜索,并进行了必要的更改,以在这些cookie上设置httponly标志。而且它起作用了,我可以看到两个cookie都检查了httponly标志。但是在此更改之后,我的身份验证停止工作(即我无法访问cookie内的JWT设置(。换句话说,我与后端的沟通被打破了。我使用以下语句阅读cookie。

$cookies.getObject('token')

我必须恢复一些更改才能回到以前的状态。目前,连接。SIDcookie设置为HTTPONLY标志,而Doken Cookie则没有设置。我想知道这里必须是什么问题。我是Angular JS的新手,以前从未从事过Cookie管理。任何帮助将不胜感激。

a HttpOnly cookie表示无法从javascript等脚本语言访问它。因此,在JavaScript中,绝对没有可用的API来获取/设置cookie的httponly属性,因为否则会打败httponly的含义。

只是从服务器设置您的"令牌" cookie。

最新更新