小编Arc*_*nus的帖子

如何每“t”分钟刷新 JWT 令牌?

我正在尝试每“t”分钟实现一次自动刷新访问令牌;我在 useEffect (在根组件中)中实现了 setInterval,它发送对新访问令牌的请求。当我运行代码时,有时间隔从 onMount 开始,有时根本不运行。

我遇到的另一个问题是,当我将用户重定向到登录页面时,我尝试清除间隔,即使在clearInterval之后它仍然继续运行。

如果有任何其他方法可以按设定的时间间隔实现 JWT 刷新令牌,我也愿意接受。

 useEffect(() => {
      async function getRefreshToken() {
        const response = await axios.post("http://localhost:3001/refreshToken", {refreshToken}, {withCredentials: true})
        if (response.data.redirect) {
          clearInterval(refresh)
          history.replace(`${response.data.redirect}`)
          localStorage.clear()
        }} 

      const refresh = setInterval(getRefreshToken, 4000)
    }, [])
Run Code Online (Sandbox Code Playgroud)

javascript setinterval reactjs use-effect

1
推荐指数
1
解决办法
4513
查看次数

标签 统计

javascript ×1

reactjs ×1

setinterval ×1

use-effect ×1