当前位置: 首页 > 知识库问答 >
问题:

Angular 5 xsrf令牌cookie和x-xsrf-header不相同

邓宜年
2023-03-14

我正在更改后端每个请求的xsrf令牌cookie值。我一次对服务器进行多个http调用,但对于某些请求,“xsrf cookie”值和“x-xsrf-header”值不相同。

我试图通过参数手动添加x-xsrf-标头,但标头值不是最新的。

这是我试过的代码,

this.http.post<any>(route, paramas, {
      headers: new HttpHeaders({
        'X-XSRF-TOKEN': this.cookieService.get("XSRF-TOKEN"),
      })
 })

共有1个答案

柴丰
2023-03-14

这可能是一个竞争条件,浏览器需要时间来获取/设置cookie,Angular也需要时间来设置标题。对于大多数目的来说,仅为整个用户会话提供一个csrf令牌就足够了,而且也更容易(而不是每个请求都有不同的令牌)。

 类似资料:
  • 在angular文档中,提到angular将在post请求的头中自动发送cookie的值。文档链接 但它没有为我发送标题。这是我的密码 Nodejs用于设置cookie的代码 我在app.module.ts中使用了http客户端 **以上代码仅用于调试目的。我没有set-csrf终结点。 但是当我发送帖子请求时,它不会发送任何标题。我不能调试。 我也在angular的github存储库中添加了这个

  • 用于初始化会话的Web API方法正在成功返回cookie。前端是angular的,所以我调用cookie XSRF-TOKEN,因为angular说它将接受该值,并在所有后续请求中将其转换为名为X-XSRF-TOKEN的头。 作为参考,创建cookie的WebAPI获取控制器方法如下 使用Fiddler,我可以在响应中看到cookie。现在我期待两件事 对同一域的所有后续API调用应在请求头中包

  • 我使用角1.0.4与ASP. NET MVC4 Web API项目。我试图利用角的CSRF保护,但没有用。我可以看到我正在传递一个名为XSRF-TOKEN的cookie,但是当角尝试在响应中添加名为X-XSRF-TOKEN的标头值时,该值显示为未定义。我试着遵循这里的建议,但是超文本标记语言还没有渲染,所以没有找到元素。 我可能会错过什么?是由ASP生成的RequestVerificationTo

  • Spring OAuth2实现多因素身份验证的完整代码已经上传到文件共享站点的这个链接。下面给出了在几分钟内在任何计算机上重新创建当前问题的说明。

  • 我正在启用csrf保护,并使用spring boot设置XSRF-TOKEN cookie 在浏览器中,我看到cookie按预期设置,但没有任何费用。我有这些问题 是否有一种方法可以设置此cookie的最大年龄,或使其在会话到期时过期 这是我的springboot代码

  • 我对CakePHP(v3.7)比较陌生。我有一个应用程序,其中出现了“缺少Csrf令牌Cookie”错误。 在pplication.php,我有: 表单页面有一个隐藏的表单元素,其中包含_csrfToken。我不明白为什么没有在邮件上找到它? 深入研究后,我发现在CsrfProttionMiddleware.php中,下面的_validateToken()函数的行为如下: $cookie为空(没有