当前位置: 首页 > news >正文

伍佰亿书画网网站西安建筑信息平台

伍佰亿书画网网站,西安建筑信息平台,网站建设十一要点,seo课程培训视频JWT JSON Web Token#xff08;JSON Web令牌#xff09; 是一个开放标准(rfc7519)#xff0c;它定义了一种紧凑的、自包含的方式#xff0c;用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任#xff0c;因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…JWT JSON Web TokenJSON Web令牌 是一个开放标准(rfc7519)它定义了一种紧凑的、自包含的方式用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法或使用RSA或ECDSA的公钥/私钥对进行签名。 通过JSON形式作为Web应用中的令牌用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。 JWT登录流程 使用了JWT技术 流程 1.前端通过表单的方式将用户的登录信息发送到后端 2.后端对登录的信息进行检验合法的话生成JWT并与结果一起返回给前端 3.前端接收到返回结果进行响应并将JWT保存前端可以将返回的结果保存在localStorage浏览器本地缓存或sessionStoragesession缓存上退出登录时前端删除保存的JWT即可 4.后续前端每次请求携带JWT进行后端检查JWT 的合法性存在验证JWT的有效性。例如检查签名是否正确﹔检查Token是否过期;检查Token的接收方是否是自己 5.验证通过后后端使用JWT中包含的用户信息进行其他逻辑操作返回相应结果。 使用练习 1.引入依赖 !--引入JWT-- dependencygroupIdcom.auth0/groupIdartifactIdjava-jwt/artifactIdversion3.10.0/version /dependency 2.登录成功后生成jwt令牌 MapString, Object claims new HashMap();claims.put(JwtClaimsConstant.EMP_ID, employee.getId());String token JwtUtil.createJWT(jwtProperties.getAdminSecretKey(),jwtProperties.getAdminTtl(),claims);3.在拦截器中配置token解析 //1、从请求头中获取令牌String token request.getHeader(jwtProperties.getAdminTokenName());//2、校验令牌try {log.info(jwt校验:{}, token);Claims claims JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token);Long empId Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString());log.info(当前员工id{}, empId);BaseContext.setCurrentId(empId);//3、通过放行return true;} catch (Exception ex) {//4、不通过响应401状态码response.setStatus(401);return false;}4.封装JWT使用工具类生成token和解密token /*** 生成jwt* 使用Hs256算法, 私匙使用固定秘钥** param secretKey jwt秘钥* param ttlMillis jwt过期时间(毫秒)* param claims 设置的信息* return*/public static String createJWT(String secretKey, long ttlMillis, MapString, Object claims) {// 指定签名的时候使用的签名算法也就是header那部分SignatureAlgorithm signatureAlgorithm SignatureAlgorithm.HS256;// 生成JWT的时间long expMillis System.currentTimeMillis() ttlMillis;Date exp new Date(expMillis);// 设置jwt的bodyJwtBuilder builder Jwts.builder()// 如果有私有声明一定要先设置这个自己创建的私有的声明这个是给builder的claim赋值一旦写在标准的声明赋值之后就是覆盖了那些标准的声明的.setClaims(claims)// 设置签名使用的签名算法和签名使用的秘钥.signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8))// 设置过期时间.setExpiration(exp);return builder.compact();}/*** Token解密** param secretKey jwt秘钥 此秘钥一定要保留好在服务端, 不能暴露出去, 否则sign就可以被伪造, 如果对接多个客户端建议改造成多个* param token 加密后的token* return*/public static Claims parseJWT(String secretKey, String token) {// 得到DefaultJwtParserClaims claims Jwts.parser()// 设置签名的秘钥.setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8))// 设置需要解析的jwt.parseClaimsJws(token).getBody();return claims;}
http://www.lakalapos1.cn/news/12886/

相关文章:

  • 常州百度网站排名优化成都建设路小学网站
  • 专业网站搭建定做广东住房和城乡建设厅官方网站
  • 最好的开发网站建设深圳网站维护服务的公司
  • 5成都网站建设电商怎么开始做
  • 免费 网站 手机大型公司为什么做网站
  • 网页制作代码作业西宁整站优化
  • 网站排名优化推广厦门电商网站数据中心建设方案
  • 网站平台怎么做推广西安搜推宝网络科技有限公司
  • 免费ftp 网站怎样建立网站快捷方式
  • 南宁购物网站建设营销型企业网站建设的预算
  • 杭州集团公司网站制作使用mvs2010做网站
  • 哪些企业网站做的不错医药网站备案
  • 网站开发公司杭州网站建设湘潭市高新建设局施工报建网站
  • 网站建设最流行语言网络推广营销怎么做
  • 深圳市网站建设公家具网站开发设计论文
  • 专业做消防工程师的正规网站药膳网站建设的目的
  • 地方网站建设方案打完疫苗发烧怎么处理
  • 鲜花销售网站建设策划表农产品网络营销推广方案
  • 培训机构网站设计好吗360建筑网中级机械工程师招聘
  • 做招聘网站需要什么人员网站建设评估报告
  • 校园网网站的安全建设方案w5500做服务器网站
  • 网站空间已过期湖北省建设厅网站资质
  • 代做网站多少钱做网络营销如何建立自己的网站
  • 中国建设银行江西分行网站首页三丰云做游戏网站
  • 成都专业网站建设哪家好临沂网站关键词
  • 安康网站建设电话外贸网站建设怎么制作
  • 大英做网站全自动推广引流软件
  • 百度商桥怎么添加到网站广告优化师工作内容
  • 杭州绿城乐居建设管理有限公司网站wordpress头条
  • 网站初期建设宣传网站如何导入百度地图