提出关于jwt加密的问题
https://developers.weixin.qq.com/doc/aispeech/platform/INTERFACEDOCUMENT.html
我使用了网上各种JWT加密的方法都无法正确的对JWT第三部分进行加密
用jwt.io的就可以通过
前两个部分我完全按照方法进行加密,发现jwt.io会按照标准添加字段后再BASE64生成前两个部分在进行加密
这就导致加密出来的第三部分完全不同与第一部分
我现在就是想问下jwt id [jti]这一部分如何填?
以下是我的易语言源码 如果方便的话麻烦提供个能直接一次性调用生成JWT的DLL 或者JS 或者提供一个不安全的接口也行
nodejs各种报错和没有用法的JWT C#源码要把我搞疯了
如果我说的有问题麻烦指正下 麻烦一定要看下啊
2 回复
我最近也在用易语言做,只剩下jwt这步,生成的token用jwt.io校验成功,但post到微信的接口就校验错误,token前两部分应该没问题,主要是第三部分的sign。
jti我用uuid
新增一个长文本常量 UUIDFUN,内容如下:
function uuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
}
.版本 2 .局部变量 UUIDGEN, 类_脚本组件 .局部变量 UUID, 文本型 UUIDGEN.执行 (#UUIDFUN) UUID = UUIDGEN.计算表达式 (“uuid()”) 键值表参数.置值 (“jti”, UUID)