如果我需要在服务器端和客户端访问它,在哪里存储 jwt 令牌?

时间:2021-07-12 20:11:45

标签: next.js

到目前为止,我一直将令牌存储在一个仅限 http 的 cookie 中,但是每次使用 fetch() 时,我都必须手动传递令牌,并且想要创建一个辅助函数,在其中我使用一些默认配置设置 fetch 并包含令牌,但问题是我如何访问令牌?问题来了:

我有一个具有以下功能的文件:

function getUserById(id,token){
 return fetch(url/getUser/id,{method:"GET",headers:{Authorization:`Bearer ${token}})
}

现在,当我调用 getUserById 时,我从 redux 商店访问令牌并将其传递给它,但是如果我尝试从辅助函数内的 redux 商店访问令牌,因为访问 redux 商店它是异步的,请求失败,因为令牌没有不存在。

export default function authorizedFetch(url, config) {
  const { token } = store.getState().user;
  console.log(token);
  return fetch(url, { ...config, headers: { ...config.headers, Authorization: `Bearer ${token}`, "Content-Type": "application/json" } });
}

我该如何管理?

0 个答案:

没有答案
相关问题