axios 如何从JWT React中提取特定值

9w11ddsr  于 12个月前  发布在  iOS
关注(0)|答案(2)|浏览(153)

我不知道如何从我的JWT token中只提取特定的值,我使用react-jwt作为我的React库来解码我的token,当我console.log时,我得到了这个:
第一个月
我想只提取userId的值,并将其放入localstorage中,如下所示:localStorage.setItem(“userId”,“the value”)

import {useJwt} from "react-jwt"

export async function JWTDecode() {
    const token = localStorage.getItem("token")

    const { decodedToken } = useJwt(token!);
    console.log(decodedToken)
}

字符串

lmvvr0a8

lmvvr0a81#

此外,您可以按照Github Issue中的建议键入它。

interface TokenPayload {
  userId: string;
  iat: number;
}

const { decodedToken, isExpired } = useJwt<TokenPayload>(token);

字符串
必须使用?引用属性,但这应该没问题,Sandbox here

s3fp2yjn

s3fp2yjn2#

你必须先用JSON.parse解析字符串,然后才能访问成员。

const token = localStorage.getItem("token");
const tokenObj = JSON.parse(token);
const userId = tokenObj.userId;

字符串
您可能还应该在其中添加一些错误处理和验证,以确保令牌对象有效。

相关问题