[英]how to verify jwt token in nodejs / never expire?
我在節點js中實現了JWT
令牌。我能夠生成jwt
令牌。現在我想檢查它何時到期或無效 。 我檢查了120ms
后它將失效的文檔,但是我的令牌沒有失效。它總是對令牌進行解碼,為什么?
我生成這樣的令牌
app.get("/saveData", async (req, res) => {
try {
const token = await userService.create({
userId: "abcp",
password: "hello",
appsAccess: ["yes", "test"]
});
res.send(token);
} catch (error) {
console.log(error);
}
});
並像這樣驗證令牌
app.get("/verify-token", async (req, res) => {
let tokenStatus = await userService.verifyAccessToken(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7InVzZXJJZCI6ImFiY3AiLCJhcHBzQWNjZXNzIjpbInllcyIsInRlc3QiXSwiX2lkIjoiNWQ3Yzk4MTYzZmQ1NGIwOGUwMjYzNjg0IiwiX192IjowfSwiaWF0IjoxNTY4NDQ2NDg2LCJpc3MiOiJqamoiLCJzdWIiOiJhYmNwIn0.1fqzYJ1p9jSIiNjbA7MwEsU4EsMmmpxF34TU1ZjonSA"
);
res.send(tokenStatus);
});
這是我的代碼
https://codesandbox.io/s/lively-tree-hd0fo
verifyAccessToken(token) {
return jwt.verify(token, "jhjhhj");
}
我想如果我生成令牌,它將在10min
或30min
后過期..etc
您可以使用expiresIn
選項來執行此操作。 根據您的代碼的示例:
const token = jwt.sign(payload, "jhjhhj", {
algorithm: "HS256",
issuer: "jjj",
subject: `${user.userId}`,
expiresIn: "10m"
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.