首页 > 解决方案 > 解码 Jwt 令牌 React

问题描述

我使用 jsonwebtoken 解码我的 Token 以查看它是否已过期。但是,console.log 返回 null。

 var token = response.headers.authorization;
 token = token.replace('Bearer','');
 var jwt = require('jsonwebtoken');
 var decoded = jwt.decode(token);
 console.log(decoded);

我不明白,因为我的令牌不为空

标签: reactjsjwt

解决方案


看来您正在使用 JWT。要解码这种类型的令牌,您可以简单地使用jwt-decode library。例如,在 ReactJS 中:

import jwt from 'jwt-decode' // import dependency
...
// some logic
axios.post(`${axios.defaults.baseURL}/auth`, { email, password })
    .then(res => {
      const token = res.data.token;
      const user = jwt(token); // decode your token here
      localStorage.setItem('token', token);
      dispatch(actions.authSuccess(token, user));
    })
    .catch(err => {
      dispatch(actions.loginUserFail());
  });

推荐阅读