参考页面

要想设置JWT的过期时间。需要在payload中增加 exp 此字段。这个字段是JWT内部约定的。用来表示过期时间{     "iss" :"http://example.org",    //非必须。issuer 请求实体,可以是发起请求的用户的信息,也可是jwt的签发者。

"iat" : 1356999524,             //非必须。issued at。 token创建时间,unix时间戳格式

"exp" :"1548333419",            //非必须。expire 指定token的生命周期。unix时间戳格式

"aud" : "http://example.com",   //非必须。接收该JWT的一方。

"sub" : "jrocket@example.com",  //非必须。该JWT所面向的用户

"nbf" : 1357000000,             //非必须。not before。如果当前时间在nbf里的时间之前,则Token不被接受;一般都会留一些余地,比如几分钟。

"jti" :'222we',                 //非必须。JWT ID。针对当前token的唯一标识

"GivenName" : "Jonny",                         // 自定义字段

"Surname" : "Rocket",                          // 自定义字段

"Email" : "jrocket@example.com",               // 自定义字段

"Role" : ["Manager", "Project Administrator"]  // 自定义字段  }

下面我们修改 代码

增加一个exp// POST api/values

[HttpPost]

public string Post(string username,string pwd)

{

//假设用户名为"admin",密码为"123"

if (username == "admin" && pwd == "123")

{

var payload = new Dictionary

{

{ "Name",username },

{ "exp", DateTimeOffset.UtcNow.AddSeconds(2).ToUnixTimeSeconds() } //两秒后过期

};

return JwtHelp.SetJwtEncode(payload);

}

else

{

return "-1";

}

}

之后 载器请求 就会抛出如上异常

我们应该渠捕捉这些异常///

/// 根据jwtToken  获取实体

///

/// jwtToken

///

public static AccountInfo GetJwtDecode(string token,out string message)

{

message = string.Empty;

try

{

IJsonSerializer serializer = new JsonNetSerializer();

IDateTimeProvider provider = new UtcDateTimeProvider();

IJwtValidator validator = new JwtValidator(serializer, provider);

IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();

IAlgorithmFactory algorithmFactory = new HMACSHAAlgorithmFactory();

IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithmFactory);

var accountInfo = decoder.DecodeToObject(token, secret, verify: true);//token为之前生成的字符串

return accountInfo;

}

catch (TokenExpiredException)//如果当前时间大于负载中的过期时间(负荷中的exp),引发Token过期异常

{

message = "Token已经过期了!";

}

catch (SignatureVerificationException)//如果签名不匹配,引发签名验证异常

{

message = "Token签名不正确!";

}

return null;

}// GET api/values/5

[HttpGet("{token}")]

public ActionResult Get(string token)

{

string error = string.Empty;

var info = JwtHelp.GetJwtDecode(token,out error);

if (info != null)

{

return info.Name;

}

else

{

return error;

}

}

php jwt设置有效期,07-如何设置JWT的过期时间相关推荐

  1. 小程序token有效期_微信小程序token过期时间后重新获取-微信小程序过期恢复步骤-微信小程序怎么找...

    1. 首先先封装个公用的jsclassConfig{constructor(){}}Config.restUrl'https://wx.knowdao.com';export{Config};2. 再 ...

  2. 什么是JWT?新手5分钟入门JWT的使用

    1 什么是JWT JSON Web Token(JWT)是一种开放标准(RFC7519),它定义了一种紧凑而独立的方式,用于在各方之间作为JSON对象安全地传输信息.此信息是可以验证和信任的,因为它是 ...

  3. Redis中字符串string数据类型(保存(设置键值、过期时间、设置多个键值、追加值)、获取(获取单一键值、获取多个键值))

    字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的V ...

  4. RabbitMQ 设置消息的TTL(过期时间)

    我们在RabbitMQ中发布消息时,在代码中有两种方法设置某个队列的消息过期时间: 1.针对队列来说,可以使用x-message-ttl参数设置当前队列中所有消息的过期时间,即当前队列中所有的消息过期 ...

  5. openssl命令查看证书有效期_kubeadm初始化k8s集群延长证书过期时间

    前言 kubeadm初始化k8s集群,签发的CA证书有效期默认是10年,签发的apiserver证书有效期默认是1年,到期之后请求apiserver会报错,使用openssl命令查询相关证书是否到期. ...

  6. 29.Jwt集成(3):token设置过期时间、异常判断

    29.Jwt集成(3):token设置过期时间.异常判断 参考文章: (1)29.Jwt集成(3):token设置过期时间.异常判断 (2)https://www.cnblogs.com/hualou ...

  7. API接口之JWT设置token过期时间(二)

    目录 1.什么是Jwt 2.token是什么 3.为什么要使用token 4.如何实现token 5.JWT的简单案例 6.API接口token案例 6.1 token的创建 6.2 用户验证流程 7 ...

  8. .NetCore JWT token过期时间设置

    一.生成token public string CreateToken(UserDto input)         {             var tokenHandler = new JwtS ...

  9. springboot 集成jwt设置过期时间_传说中的jwt,我们来征服一下

    原创:猿逻辑,欢迎分享,转载请保留出处. 本文的完整示例代码,见github仓库.小q只在文中介绍最关键的代码块. https://github.com/yuanluoji/purestart-spr ...

最新文章

  1. android圆形旋转菜单,而对于移动转换功能支持
  2. ELK教程2:Kibana的安装
  3. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法
  4. Android小项目源码汇总
  5. 146. LRU Cache
  6. ByteBuf主要继承关系图
  7. 042——VUE中组件之子组件使用$on与$emit事件触发父组件实现购物车功能
  8. HttpServletResponse中sendError与setStatus的区别
  9. 双霖度盘下载器(第三方百度网盘不限速下载工具)
  10. 开头的单词_为什么以“S”开头的单词最多?| 英汉比较教学法·语音思维No.16...
  11. TCP/IP网络编程项目式教程(微课版)
  12. 微信公众号订阅号与微信服务号有什么不同
  13. 淘宝/天猫API:upload_img-上传图片到淘宝
  14. Android Provision源码分析
  15. vite按需引入 Ant Design Vue 3.0
  16. 为CIFAR图片分类模型添加BN
  17. protractor 添加测试报告
  18. Oracle分区表的使用
  19. ITIL学习笔记——核心流程之:容量管理
  20. python爬虫案例:采集股票数据并制作可视化柱图~

热门文章

  1. access身份证号掩码_Access输入掩码说明
  2. 登陆qq出现计算机丢失msvcp140.dll,缺少msvcp140.dll怎么办?msvcp140.dll丢失解决方法...
  3. venue11 Android,ebay购入dell 戴尔 venue11 pro 平板电脑
  4. 计算机excel上机实训指导,上机实训指导手册——利用Excel进行数据分组和制作统计图表...
  5. Ubuntu 18.04 Mellanox ConnectX 网络适配器驱动安装
  6. PTA 7-1 宿舍谁最高?(20分)
  7. python进阶 - day1
  8. 关于显示webpack不是内部或外部命令问题的解决方法
  9. nginx 反向代理(完成图片回显示效果)
  10. part实现实现单个(上传图片和文件上传)