首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Axios发送双CSRF令牌[CSRF-令牌不匹配]

Axios发送双CSRF令牌[CSRF-令牌不匹配]
EN

Stack Overflow用户
提问于 2022-08-26 10:18:39
回答 2查看 44关注 0票数 0

我有一个基本的拉里/瓦埃与圣殿的执行。问题是直截了当的:

我正在发送一个令牌请求和登录用户。服务器发送一个新的令牌。Axios添加此令牌,但添加另一个始终相同且过期的令牌。

代码:

代码语言:javascript
复制
await APIClient.get("/sanctum/csrf-cookie")
return APIClient.post("/api/user/login", payload);

DevTools/Network选项卡:

  • csrf-cookie请求=> response-headers具有有效的
  • request => request-headersSET-COOKIE属性具有XSRF-TOKEN (旧过期值) ; laravel_session ; XSRF-TOKEN (新有效值)H 214f 215

我的问题是旧的价值。在我的代码中根本没有添加这个的位置。

这是我的axios客户端

代码语言:javascript
复制
const APIClient = axios.create({
    baseURL: constants.PATHS.url,
    withCredentials: true, // required to handle the CSRF token
});

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-26 11:02:26

我找到了一个真正的解决办法。每当您注销时,您都应该清除文档的cookie,这样,令牌就永远是新的,旧的不能复制。我见过这种错误在某些情况下会发生。

票数 0
EN

Stack Overflow用户

发布于 2022-08-26 10:55:28

对不起,我不太明白您的问题,您不知道如何将(旧的过期值)或(新的有效值)添加到axios的标题中吗?我建议使用axios作为窗口的属性。更改其属性更容易:

代码语言:javascript
复制
window.axios.defaults.headers.common['token'] = "aaa"; //add a header
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73499475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档