gpt4 book ai didi

node.js - 如何验证token是否过期

转载 作者:太空宇宙 更新时间:2023-11-03 22:07:31 25 4
gpt4 key购买 nike

我想验证 token 是否过期,然后发送状态和消息

 async function verify () {
const ticket = await client.verifyIdToken({
idToken: req.body.token,
audience: CLIENT_ID
})
const payload = ticket.getPayload()
let email = payload['email']
return User
.findOne({
where: { email: email }
})
.then(user => {
if (!user) {
return next(boom.notFound('User not found'))
}
let token = jwt.sign({user}, config.secret, {
expiresIn: 86400 // expires in 24 hours
})
user.token = token
return res.status(200).send(user)
})
}
verify().catch(console.error)}

我一直在使用 client.isTokenExpiring() 但没有捕获错误

最佳答案

这是对您的问题的粗略客户端回答。我记得在您链接到此处的上一篇文章中,您正在研究 Google Web Login,因此我从客户的角度进行了回答。

对于这个问题,我没有与您相同的代码,但总的来说,这就是我所做的:

从 token 中提取到期日期。检查当前时间是否晚于或等于 token 的过期时间,然后对您正在使用的 auth 实例调用 reloadAuthReponse 方法。这将更新您的 token 。事实上,每次计算机从 sleep 状态唤醒时我都会执行此操作。

此代码片段包含来自 moment.js 的辅助函数来比较时间,但总体思路如下:

if(now.isSame(exp) || now.isAfter(exp)) {
gapi.auth2.getAuthInstance().currentUser.get().reloadAuthResponse().then(function() {
// do something with the new token
});
}

关于node.js - 如何验证token是否过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51431660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com