JWT解码在React Native中工作但不适用于React

问题描述 投票:1回答:2

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

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

eyJ0b2tlbiI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpwWkhCaGMzTWlPaUl6WkRFME1ERmlNQzFtTkdWakxURXhaVGN0WVdReE15MHpaRGRsTUdZME9EUmlaR0k2TVRsaU4yTmpNREUyWVRVeU1ERTRNemt3TmpsbU56aGxNV0pqTXpBMk4yUTBZalJqTVRrNE1HTTBPV05tWkRsak9XWTRNV1F4Tm1VMllUbGhaR1JrTVNJc0ltbGhkQ0k2TVRVeE5UY3lNalF6TkgwLlg0dGUxRmhzbGJlcW5Id3RCQ2NOMHF5Zk9vb2tvdVN2TXRlLVBUTUtrMHcifQ==

我试着用它解码它

var decoded = jwt.decode(response.data);

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

javascript node.js reactjs jwt
2个回答
6
投票

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

npm install jwt-decode

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

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

var decoded = jwtDecode(token);
console.log(decoded);

有关更多信息,请访问check here


0
投票

它工作得很好:

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

var decoding = jwtDecode(testString,{body:true});

© www.soinside.com 2019 - 2024. All rights reserved.