在使用jsonwebtoken
時(shí),可以設(shè)置token的過(guò)期時(shí)間,當(dāng)token過(guò)期后,jsonwebtoken
會(huì)拋出一個(gè)TokenExpiredError
錯(cuò)誤。開(kāi)發(fā)者可以通過(guò)捕獲這個(gè)錯(cuò)誤來(lái)處理過(guò)期的token,例如可以讓用戶(hù)重新登錄以獲取新的token。下面是一個(gè)處理過(guò)期token的示例代碼:
const jwt = require('jsonwebtoken');
// 設(shè)置token過(guò)期時(shí)間
const token = jwt.sign({ user: 'john.doe' }, 'secret', { expiresIn: '1h' });
try {
const decoded = jwt.verify(token, 'secret');
// token未過(guò)期,繼續(xù)執(zhí)行相關(guān)操作
} catch (error) {
if (error instanceof jwt.TokenExpiredError) {
// token過(guò)期,處理過(guò)期token
console.log('Token expired');
// 可以讓用戶(hù)重新登錄獲取新的token
} else {
// 其他錯(cuò)誤,如token無(wú)效等
console.error(error);
}
}
通過(guò)捕獲TokenExpiredError
錯(cuò)誤,開(kāi)發(fā)者可以根據(jù)具體情況來(lái)處理過(guò)期的token。