猛跑小豬
2023-09-28 16:52:36
我嘗試為我的 jwt 設(shè)置發(fā)布時(shí)間和到期時(shí)間。我似乎無(wú)法確定日期。它們要么相差太遠(yuǎn),要么根本不是整數(shù)。我想在不使用 moment.js 的情況下實(shí)現(xiàn)這一目標(biāo)。這是我到目前為止得到的(這也是不正確的)。 const payload = { // issued at time iat: currentDate.getTime() / 1000, // JWT expiration time (10 minute maximum) exp: new Date(currentDate.getTime() + 10 * 60000).getTime() / 1000, // GitHub App's identifier};
1 回答

溫溫醬
TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
JWT 需要 UNIX 時(shí)間戳...自 以來(lái)的秒數(shù)1970-01-01T00:00Z。
您可以通過(guò)執(zhí)行以下操作從 Javascript 時(shí)間戳中獲取這些內(nèi)容:
const nowTime = Math.floor(Date.now() * 0.001)
Javascript 時(shí)間戳是以毫秒為單位的 UNIX 時(shí)間戳,而不是以秒為單位。
當(dāng)然10分鐘就是600秒。因此,您應(yīng)該能夠執(zhí)行此操作來(lái)獲取開始時(shí)間和到期時(shí)間。
const nowTime = Math.floor(currentDate.getTime() / 1000)
const payload = {
iat: nowTime,
exp: 600 + nowTime
}
不需要 moment.js。
添加回答
舉報(bào)
0/150
提交
取消