gpt4 book ai didi

javascript - 在 Node 中解码 Jwt token - 无需库

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:58 25 4
gpt4 key购买 nike

我有以下代码来解码 Javascript 中的 Jwt token (引用: How to decode jwt token in javascript )

const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';

function parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
console.log(JSON.parse((atob(base64))))
};

parseJwt(token);

我从上面的代码中获取了我需要的有效负载但我在 Node 中实现它,我们没有“atob”函数来解码base64编码的字符串

看来我们需要在 Node 中使用Buffer。我进行了研究并提出了以下不起作用的解决方案。

const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
function parseJwt(token) {
const base64Url = token.split('.')[1];
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
const buff = new Buffer(base64, 'base64');
const payloadinit = buff.toString('ascii');
const payload = JSON.parse(payloadinit);
console.log(payload)
};
parseJwt(token);

如果有更好的方法,请告诉我 - 无库(Jwt 或解码 Jwt)

最佳答案

实际上我已经在独立环境中尝试过了,上面的代码就像魅力一样获取 Jwt token 有效负载

const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'

const base64Url = token.split('.')[1];
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
const buff = new Buffer(base64, 'base64');
const payloadinit = buff.toString('ascii');
const payload = JSON.parse(payloadinit);
console.log(payload);

https://repl.it/@Punith/RuralSeveralAdaware

关于javascript - 在 Node 中解码 Jwt token - 无需库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com