Проблема в том, что jwtDecode
не знает, что находится внутри вашего токена, поскольку это может быть что угодно. Из-за этого он использует тип unknown
, чтобы показать, что результат декодированного JWT неизвестен.
Чтобы обойти это, вам нужно создать interface
, описывающий, что вы ожидаете увидеть в вашем JWT, и указать jwtDecode
, чтобы использовать его в качестве типа возврата декодированного токена. Вы можете сделать это так:
interface MyToken {
name: string;
exp: number;
// whatever else is in the JWT.
}
const decodedToken = jwtDecode<MyToken>(token);
console.log(decodedToken.exp); // works!