JWT解码可在React Native中使用,但不适用于React

Leo*_*Leo 1 javascript node.js jwt reactjs

因此,当您在https://jwt.io/中解码以下内容时, 它说它具有一个名为“ token”的标头,在重新解码它时它具有令牌,您可以访问有效负载。

通常在RN中,我可以使用this.props.user.token访问包含令牌的有效负载,但是在React中,“ token”属性不存在,因为它不是JavaScript对象,而是字符串,但是我在后端使用相同的API。

eyJ0b2tlbiI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpwWkhCaGMzTWlPaUl6WkRFME1ERmlNQzFtTkdWakxURXhaVGN0WVdReE15MHpaRGRsTUdZME9EUmlaR0k2TVRsaU4yTmpNREUyWVRVeU1ERTRNemt3TmpsbU56aGxNV0pqTXpBMk4yUTBZalJqTVRrNE1HTTBPV05tWkRsak9XWTRNV1F4Tm1VMllUbGhaR1JrTVNJc0ltbGhkQ0k2TVRVeE5UY3lNalF6TkgwLlg0dGUxRmhzbGJlcW5Id3RCQ2NOMHF5Zk9vb2tvdVN2TXRlLVBUTUtrMHcifQ==
Run Code Online (Sandbox Code Playgroud)

我尝试使用解码

var decoded = jwt.decode(response.data);
Run Code Online (Sandbox Code Playgroud)

但是解码为null,该怎么办?

小智 6

您可以使用任何npm模块进行解码,例如:

npm install jwt-decode

var jwtDecode = require('jwt-decode');

var token = 'eyJ0eXAiO.../// jwt token';

var decoded = jwtDecode(token);
console.log(decoded);
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请点击这里