ZBLOG

typescript jwt 验证token 并判断是否过期

在 TypeScript 中验证 JWT Token 并判断是否过期的示例代码:

  1. import jwt from 'jsonwebtoken';
  2. interface JwtPayload {
  3. sub: string;
  4. iat: number;
  5. exp: number;
  6. }
  7. function verifyJwtToken(token: string, secret: string): JwtPayload | null {
  8. try {
  9. const payload = jwt.verify(token, secret) as JwtPayload;
  10. if (payload.exp < Date.now() / 1000) {
  11. // Token has expired
  12. return null;
  13. }
  14. return payload;
  15. } catch (error) {
  16. // Invalid token or signature
  17. return null;
  18. }
  19. }
  20. // Usage example
  21. const token = 'myToken';
  22. const secret = 'mySecretKey';
  23. const payload = verifyJwtToken(token, secret);
  24. if (payload === null) {
  25. console.log('Invalid or expired token');
  26. } else {
  27. console.log(`User ID: ${payload.sub}`);
  28. }

该代码使用 jsonwebtoken 包来验证 JWT Token。verifyJwtToken 函数接受一个 Token 字符串和一个密钥字符串作为参数,并返回一个可选的 JwtPayload 对象。如果 Token 无效或已过期,则返回 null。否则,返回解码的 JWT 负载对象。

在此示例中,我们使用了 TypeScript 的接口来描述 JWT 负载对象。该接口定义了必须存在的 subiatexp 属性。sub 属性应包含用户的唯一标识符,iat 属性是 Token 的颁发时间,exp 属性是 Token 的到期时间。

在使用时,请将 myToken 替换为要验证的实际 Token 字符串,并将 mySecretKey 替换为实际使用的密钥。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=358

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?