【发布时间】:2019-03-29 00:51:15
【问题描述】:
我之所以问这个问题,是因为一位同事已经为此困扰了几天。问题是,他试图在他的 JWT 中使用 JTI 声明,但他似乎无法弄清楚如何正确生成它。如果有必要的话,我们在任何地方都找不到关于如何生成和格式化 JTI 的清晰和直截了当的解释。如果有人能为我们解决问题,我们将不胜感激。
更新: 这是使用的代码示例
var randomNumber1 = Math.floor(Math.random() * Math.floor(254));
var randomText = Math.random().toString(36).substr(2, 12);
var randomNumber2 = Math.floor(Math.random() * Math.floor(81458));
var oHeader = {alg: 'HS256', cty: 'text/plain'};
var oPayload = {};
oPayload.publicKey = "myPublicKey";
oPayload.schema = "mySchema";
oPayload.baseUrl = "www.example.org";
oPayload.exp = (new Date().getTime() / 1000|0) + 5 * 60;
oPayload.iss = "myIssuer";
oPayload.domain = "myDomain";
oPayload.jti = randomNumber1 + "-" + randomText + "-" + (new
Date().getTime() / 1000|0) + 5 * 60;
oPayload.iat = new Date().getTime() / 1000|0;
var hash = CryptoJS.MD5("Message", (new Date().getTime() / 1000|0)
+ 5 * 60);
console.log(hash);
如果需要更多信息,请询问。
提前致谢。
【问题讨论】:
-
你应该把你写的代码贴出来……
-
我目前无权访问代码。我所要求的只是更清楚地解释如何生成和格式化 JTI,因为据我们所知,这在任何地方都没有明确定义。
-
好的,看看这个答案:stackoverflow.com/a/29946630/1703744
标签: javascript jwt