如何在 axios 拦截器中设置 http cookie?
Posted
技术标签:
【中文标题】如何在 axios 拦截器中设置 http cookie?【英文标题】:how to set http cookie in axios interceptor? 【发布时间】:2019-05-23 05:53:42 【问题描述】:我想知道如何为 http cookie 设置 axios 拦截器。
我在vue SPA中使用axios,后端在laravel上,API设置http cookie,但是现在我需要将它发送回去处理一些请求。
实际上我有身份验证令牌和刷新令牌,身份验证令牌在本地存储中(它是短暂的),接下来是应用程序流程:在每个请求中,我在请求标头中设置身份验证令牌,laravel API 检查身份验证令牌是否有效以及是否它是请求返回数据,但如果身份验证令牌无效,我必须使用 http cookie 中的 refreshtoken 发出新请求,我知道我无法通过 javascript 访问它,我该怎么办?我怎样才能使这项工作?
这里还有一个棘手的部分是我不想在每个请求上设置刷新令牌,只有在需要重新生成身份验证令牌时。
如果我误解了什么,请不要犹豫,让我朝着正确的方向前进。
【问题讨论】:
【参考方案1】:像这样简单的事情应该会让你朝着正确的方向前进:
axios.interceptors.response.use(response =>
if (response.data.token)
window.localStorage.setItem('token', response.data.token)
);
【讨论】:
是的,我知道,我在 localStorage 中的身份验证令牌,我可以这样设置,但我对 http cookie 中的刷新令牌感到困惑以上是关于如何在 axios 拦截器中设置 http cookie?的主要内容,如果未能解决你的问题,请参考以下文章