JWT-解码需要未定义,jwt解码未定义
Posted
技术标签:
【中文标题】JWT-解码需要未定义,jwt解码未定义【英文标题】:JWT- Decode require not defined, jwt decode not defined 【发布时间】:2019-08-01 10:16:50 【问题描述】:我在使用 JWT 解码时遇到问题,似乎无法完成这项工作
var token = 'eyJ0eXAiO.../// jwt token';
var decoded = jwtDecode(token);
console.log(decoded);
有这个要求
var jwtDecode = require('jwt-decode');
enter code here
我已经 npm install jwt-decode 并尝试 jwt-简单
我只想以最简单的方式解码有效载荷
请帮帮我,这是我的代码
<script>
var jwtDecode = require('jwt-decode');
var token = 'eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ';
var decoded = jwtDecode(token);
console.log(decoded);
function myFunction()
alert(decoded);
</script>
<script src='/js/jwt-decode.js'></script>
<script>
var jwtDecode = require('jwt-decode');
var token = 'eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ';
var decoded = jwtDecode(token);
console.log(decoded);
function myFunction()
alert(decoded);
</script>
【问题讨论】:
【参考方案1】:require
未在浏览器中定义。相反,您需要通过脚本标签包含库文件。可以获取库文件here。
您可以将那里的代码复制并粘贴到jwt-decode.js
文件中。
示例:
<script src='./jwt-decode.js'></script>
<script>
const decoded = jwt_decode(jwtToken);
console.log(decoded);
</script>
【讨论】:
嗨,jro 已经更改了我的代码,但错误是这个 var jwtDecode = require('jwt-decode');引用错误:require 未定义 如果您在浏览器中运行,则需要使用脚本标签来包含库。如果您在浏览器中运行,请在您的问题中指定 用浏览器环境更新答案 required 还没有定义,我对自己失去了希望 @MichaelBenGabriel 您应该从浏览器代码中删除所有要求【参考方案2】:首先你需要下载库https://github.com/auth0/jwt-decode 然后只需使用
<script src="js/jwt-decode.min.js"></script>
var token = 'eyJ0eXAiO.../// your jwt token';
var decoded = jwt_decode(token);
console.log(decoded);
【讨论】:
嗨@riajul,当我通过解码以提醒它显示[object object]但console.log工作正常。 alert js 有什么问题,谢谢 解决方案运行良好。 console.log 可以完美地与对象一起工作,但警报不能完美地与长对象一起工作。尽管您可以在警报中显示任何元素,例如 alert(object.element) 感谢等待您的支持:P 建议:永远不要使用 alert 来显示任何对象,只使用 console.log 来显示对象、数组或任何长数据。警报用于一两行字符串类型数据 明白你的意思。但我需要数据以任何形式显示,如文本输入、标签、div id 等。还有其他方法吗?我尝试使用 getelementid 和 append 将它放在一个 div 中,输出也是对象对象。 将解码附加到 div 或 id 时出现静止对象对象:(以上是关于JWT-解码需要未定义,jwt解码未定义的主要内容,如果未能解决你的问题,请参考以下文章
为啥这个经过验证的 JSON Web Token (JWT) 输出未定义?
解码 jwt 时,AuthenticationEvent 未发布错误