如何从JWT解码后的Token中读取email字段值?
如何从解码后的JWT Token中读取email值
嘿,你已经成功完成JWT解码啦!从控制台输出的结果来看,decodedToken就是一个标准的JavaScript对象,要获取里面的email值其实非常直接,给你两种简单的方式:
方式一:直接通过属性访问(最常用)
你可以在回调函数里,先判断解码是否成功(避免err存在时访问decodedToken导致报错),然后直接用.运算符访问email属性:
jwt.verify(token, process.env.SECRETKEY, function(err, decodedToken) { // 先处理错误情况 if (err) { console.error('Token解码失败:', err); return; } // 成功解码后读取email const userEmail = decodedToken.email; console.log('读取到的邮箱:', userEmail); // 会输出 m.blal@gmail.com });
方式二:方括号语法访问
如果你更习惯用方括号(比如属性名是动态的场景),也可以这么写:
jwt.verify(token, process.env.SECRETKEY, function(err, decodedToken) { if (err) { console.error('Token解码失败:', err); return; } const userEmail = decodedToken['email']; console.log('读取到的邮箱:', userEmail); });
简单来说,因为解码后的decodedToken本质就是一个包含email和iat(签发时间戳)的JS对象,所以和访问普通对象的属性完全一样~
内容的提问来源于stack exchange,提问作者Ahmed Ali
相关产品推荐
相关产品推荐

