使用jsonwebtoken
https://www.npmjs.com/package/jsonwebtoken
var jwt = require('jsonwebtoken');
var token = httpResponse.headers["x-authorization-bearer"].trim();
var decoded = jwt.decode(token);
console.log(token); // eyJ0eXAiOiJKV1QiLCJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0.WTMwOGJudHBDTVM3Rm52clBPOGFPUQ.UbXYtb5KppbGYn3AkyOkCg.ljnC5I8q3qThn-NHY6qBqkFhSS9hNiR_pviIFB1zNVmp5Z2wOx0MON2sWRsDF__uSJ-PdI7QaM6djdflbTvKyPWbtKV6g_VDOU-lF6XKMI96BMK41mmBiJSNyDNxE5hqB4X_qWeCYMif8tf583bcKvkrxyuUTsRwvR2Xdo6yl9dyapYGhvKar2TtogOR9-jlFADfPL07ih0YjPYTo2gAWGzrVR6tNuyoRJolYd0ixon5nZ1aP5TdcbPrNcWmGfmuIfWN12BdiEtfrVYDNV7xwmNWfuxke0Uev5VAlIATg_U.1X6R6y9IK3n8NAexswUQKQ
console.log(decoded); // null
答案 0 :(得分:1)
您提供的JWT有4个.
个字符,但根据jwt.io:
JSON Web令牌由三个部分组成,用点(。)分隔,它们是:
标题
有效载荷
签名因此,JWT通常如下所示。
xxxxx.yyyyy.zzzzz
decode
中的jsonwebtoken功能首先呼叫decode
中的jws功能,该功能针对以下RegEx进行验证:
/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/
鉴于您的令牌包含4个.
个字符,此验证将失败并返回null
,这会传播到您的呼叫网站。
答案 1 :(得分:0)
如果您尝试实例化JSON Web令牌,则不会获得唯一的令牌值。实际上,您可能会以{}空注入结束。
我们可以按以下方式使用jsonwebtoken。 例如。 常量令牌= jwt.sign(有效载荷,SECRET_KEY,{algorithm,expireIn})