首页 > 解决方案 > React:存储 JWT

问题描述

我有一个后端,如果用户成功登录,他会在其中获得 JSON Web 令牌。其他 API 调用需要此令牌,我想将其存储在应用程序范围内,以便从应用程序中的每个点访问它。存储它并从任何地方访问它的最佳点是什么?

标签: javascriptnode.jsreactjsjwt

解决方案


您可以在登录时将其存储在本地存储中,例如

export async function login(username, password) {
  const { data: jwt } = await http.post(apiEndpoint, { username, password });
  localStorage.setItem("token", jwt.token);
}

而且你每次都可以访问它

export function getCurrentUser() {
try {
    const jwt = localStorage.getItem("token");
    return jwtDecode(jwt);
  } catch (error) {
    return null;
  }
}

我已经广泛使用了这种方法,并且很有魅力。


推荐阅读