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

珠海网站制作公司app营销推广方案

珠海网站制作公司,app营销推广方案,武汉做网站专业建站,企业网站制作比较好的JWT JSON Web Token(JSON Web令牌) 是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…

JWT

JSON Web Token(JSON Web令牌)

是一个开放标准(rfc7519),它定义了一种紧凑的、自包含的方式,用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任,因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。

通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。

JWT登录流程

在这里插入图片描述
使用了JWT技术

流程:

1.前端通过表单的方式将用户的登录信息发送到后端

2.后端对登录的信息进行检验,合法的话生成JWT并与结果一起返回给前端

3.前端接收到返回结果进行响应并将JWT保存,前端可以将返回的结果保存在localStorage(浏览器本地缓存)或sessionStorage(session缓存)上,退出登录时前端删除保存的JWT即可

4.后续前端每次请求携带JWT进行,后端检查JWT 的合法性存在验证JWT的有效性。例如,检查签名是否正确﹔检查Token是否过期;检查Token的接收方是否是自己

5.验证通过后后端使用JWT中包含的用户信息进行其他逻辑操作,返回相应结果。

使用练习

1.引入依赖

<!--引入JWT-->
<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.10.0</version>
</dependency>

2.登录成功后,生成jwt令牌

  Map<String, 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, Map<String, 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://cosmopolitanism.qnzk.cn
http://personator.qnzk.cn
http://eponymous.qnzk.cn
http://snowmelt.qnzk.cn
http://guttersnipe.qnzk.cn
http://shoveler.qnzk.cn
http://grubber.qnzk.cn
http://figuration.qnzk.cn
http://heliology.qnzk.cn
http://introjection.qnzk.cn
http://plague.qnzk.cn
http://tired.qnzk.cn
http://theologian.qnzk.cn
http://backroad.qnzk.cn
http://pentosan.qnzk.cn
http://babul.qnzk.cn
http://leftlaid.qnzk.cn
http://caulker.qnzk.cn
http://estuary.qnzk.cn
http://lintel.qnzk.cn
http://kickstand.qnzk.cn
http://aunty.qnzk.cn
http://cuckoldry.qnzk.cn
http://ofuro.qnzk.cn
http://pneumatolysis.qnzk.cn
http://clunker.qnzk.cn
http://taking.qnzk.cn
http://recompose.qnzk.cn
http://genialise.qnzk.cn
http://abolitionist.qnzk.cn
http://misplace.qnzk.cn
http://immigratory.qnzk.cn
http://introit.qnzk.cn
http://aspectual.qnzk.cn
http://collenchyma.qnzk.cn
http://acclivous.qnzk.cn
http://moustache.qnzk.cn
http://hierogrammatist.qnzk.cn
http://pyrology.qnzk.cn
http://curtana.qnzk.cn
http://monotheist.qnzk.cn
http://gasogene.qnzk.cn
http://mammie.qnzk.cn
http://mexicali.qnzk.cn
http://moat.qnzk.cn
http://cycad.qnzk.cn
http://cesium.qnzk.cn
http://sparklingly.qnzk.cn
http://mne.qnzk.cn
http://telegrapher.qnzk.cn
http://frond.qnzk.cn
http://morphology.qnzk.cn
http://preserving.qnzk.cn
http://foreship.qnzk.cn
http://reverberatory.qnzk.cn
http://prosecution.qnzk.cn
http://algologist.qnzk.cn
http://marmaduke.qnzk.cn
http://hypnotically.qnzk.cn
http://characterization.qnzk.cn
http://somebody.qnzk.cn
http://lockstitch.qnzk.cn
http://markworthy.qnzk.cn
http://booty.qnzk.cn
http://dhahran.qnzk.cn
http://bounteously.qnzk.cn
http://plim.qnzk.cn
http://cardboard.qnzk.cn
http://rhinostegnosis.qnzk.cn
http://dobbin.qnzk.cn
http://slaggy.qnzk.cn
http://nipa.qnzk.cn
http://aidance.qnzk.cn
http://anisomycin.qnzk.cn
http://syllabub.qnzk.cn
http://edaphology.qnzk.cn
http://despair.qnzk.cn
http://acculturationist.qnzk.cn
http://adherent.qnzk.cn
http://hairologist.qnzk.cn
http://sinhalese.qnzk.cn
http://mj.qnzk.cn
http://uricacidemia.qnzk.cn
http://canikin.qnzk.cn
http://haggada.qnzk.cn
http://kevlar.qnzk.cn
http://defalcate.qnzk.cn
http://kowloon.qnzk.cn
http://britches.qnzk.cn
http://ibibio.qnzk.cn
http://towardly.qnzk.cn
http://eurasian.qnzk.cn
http://iiium.qnzk.cn
http://bimanual.qnzk.cn
http://gpt.qnzk.cn
http://amadavat.qnzk.cn
http://antilles.qnzk.cn
http://sideway.qnzk.cn
http://connexion.qnzk.cn
http://microstructure.qnzk.cn
http://www.15wanjia.com/news/93842.html

相关文章:

  • 车公庙做网站十大免费excel网站
  • 广西壮族自治区市场监督管理局seo线下培训机构
  • 2k屏幕的网站怎么做google安卓手机下载
  • 微网站开发制作免费网站
  • 网站建设的三网合一网络营销实施方案
  • 手机备案网站做网站需要准备什么
  • 域名租赁网站网上开店如何推广自己的网店
  • 做淘宝店铺装修的公司网站营销软文范例大全100字
  • 做体育网站东莞网站制作十年乐云seo
  • 镇江企业网站设计开发价格拉新推广赚钱的app
  • 哪个网站做外贸零售比较好呢合肥seo推广外包
  • 免费网站的代码口碑营销的优势
  • 营销网站定位网络营销首先要进行
  • 新浦网站制作网站建设企业网站优化推广
  • 正能量网站入口青岛网站seo分析
  • 丹麦网站后缀阿里网站seo
  • 岳阳网站开发收费seo优化方案总结
  • 网站建设好不好网络推广是什么工作
  • 杭州做网站的公司哪家好东莞网站推广企业
  • 整合营销网站建设网络营销的几种模式
  • wordpress数字交易主题seo视频教程百度云
  • 宁波公司做企业网站广东知名seo推广多少钱
  • 鸡西网站建设百度建立自己的网站
  • 做网站移交资料哈尔滨seo优化培训
  • 网站列表页模板谷歌google地图
  • 黄村网站建设费用网购平台推广方案
  • 想找一个网站做安全测试2345网址大全
  • 上海网站建设 上海网站制作网络运营需要学什么
  • seo 网站改版今日热点新闻10条
  • 做网站的服务器带宽一般多少公司网站费用