React-admin JWT身份验证刷新令牌问题

时间:2020-02-14 20:21:54

标签: reactjs jwt react-admin

我想为react-admin实现我自己的authProvider,但是被困了。
我使用Django-Rest-Framework后端和JWT令牌身份验证系统。
我想刷新JWT令牌,如果它在每个请求之前都快到期了。根据文档,在每次API调用之前都会调用authProvider的{​​{1}}函数,这是事实。我的问题是在我的代码中,它不等待承诺完成,而是使用旧的访问令牌,该令牌生成401,然后重定向到登录页面。任何指导我缺少什么?

checkAuth

1 个答案:

答案 0 :(得分:1)

你可以尝试类似的东西

checkAuth: async (params) =>

  const request = new Request(...);

  let data;
  const response = await fetch(request);
  if (response.ok) data = await response.json()
  else throw new Error(response.statusText);

  if (data && data.token) {
      localStorage.setItem('accessToken', data.token);
      console.log(data.token);
      return Promise.resolve();
  } else return Promise.reject();