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

seo网站排名优化公司哪家好百度免费咨询

seo网站排名优化公司哪家好,百度免费咨询,淮北建网站费用,哪些网站结构是不合理的本章节讨论 jwt 在 spring boot 中的应用。意在快速入门 jwt。 java jdk1.8maven 3.2spring boot 2.0JSON Web Token#xff08;JWT#xff09; 他是一个用于 Web 身份验证的令牌。 1 JWT 概述 1.1 什么是JWT 直观的理解 JWT 就是一串字符串#xff0c;如下#xff08;来自… 本章节讨论 jwt 在 spring boot 中的应用。意在快速入门 jwt。 java jdk1.8maven 3.2spring boot 2.0JSON Web TokenJWT 他是一个用于 Web 身份验证的令牌。 1 JWT 概述 1.1 什么是JWT 直观的理解 JWT 就是一串字符串如下来自于 JWT.IO eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c 细心的你可能会发现字符串是有3个独立的字符串使用.号组合而成前两个字符串是 Base64 编码最后一个字符串是一个加密后的字符串。 序号字符串1eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ92eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ3SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cJWT 使用以上3个字符串组成一个字符串以 xxxxx.yyyyyy.zzzzz 的形式传输给认证服务器 xxxxx.yyyyyy.zzzzz 表示为 Header.Payload.Signature HeadereyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 PayloadeyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ SignatureSflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c 我们使用 JWT Debuger 把信息解码可以看出 1.1.1 Header Header 头信息以 json 字符串实现并压缩成 Base64URL 编码字符串传输 {alg: HS256,typ: JWT } 上面代码中alg属性表示签名的算法algorithm默认是 HMAC SHA256写成 HS256typ属性表示这个令牌token的类型typeJWT 令牌统一写为JWT。 1.1.2 Payload Payload 负载以 json 字符串实现并压缩成 Base64编码字符串传输 {sub: 1234567890,name: John Doe,iat: 1516239022 } 官方对 json 内容节点给出了一些建议我个人觉得意义不大况且那个建议字段完全是看不出任何含义的缩写。比如 iss、exp、sub、aud、nbf、iat、jti。当然如果大家都能共同遵守也不存在这些问题。 iss (issuer)签发人 exp (expiration time)过期时间 sub (subject)主题 aud (audience)受众 nbf (Not Before)生效时间 iat (Issued At)签发时间 jti (JWT ID)编号 1.1.3 Signature VERIFY SIGNATURE 签名在服务端指定一个秘钥把签名两个 json 字符串使用下面方法加密而成的 HMACSHA256(base64UrlEncode(header) . base64UrlEncode(payload),only-save-in-server-secret) 值得注意的是使用JWT 推荐使用 HTTPS 加密协议 1.1.4 Base64URL BASE64URL是一种在BASE64的基础上编码形成新的加密方式为了编码能在网络中安全顺畅传输需要对BASE64进行的编码特别是互联网中。 1.2 JWT 是如何工作的 为了能够支持跨域通常 JWT 的字符串 xxxxx.yyyyyy.zzzzz 通过 Http 的 Head 发送 Authorization: Bearer token 也可以放在 Post 数据体重。 2 Spring Boot JWT 示例 在 JWT 官方可以看到maven: io.jsonwebtoken / jjwt / 0.9.0 这个库是支持最全的。 2.1 新建 Spring Boot Maven 示例工程项目 File New Project如下图选择 Spring Initializr 然后点击 【Next】下一步填写 GroupId包名、Artifact项目名 即可。点击 下一步 groupIdcom.fishpro artifactIdjwt选择依赖 Spring Web Starter 前面打钩。项目名设置为 spring-boot-study-jwt.2.2 依赖引入 Pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.6.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.fishpro/groupIdartifactIdjwt/artifactIdversion0.0.1-SNAPSHOT/versionnamejwt/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.auth0/groupIdartifactIdjava-jwt/artifactIdversion3.4.1/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build /project2.4 编写 JWT 生成与验证代码 本章节知识学习 JWT不涉及其他知识点故我们之间在 JwtApplication.java 中来编写代码 package com.fishpro.jwt;import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.exceptions.JWTCreationException; import com.auth0.jwt.exceptions.JWTVerificationException; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;import java.util.*;SpringBootApplication public class JwtApplication {public static void main(String[] args) {SpringApplication.run(JwtApplication.class, args);String tokencreateJWTToken();//获取生成的TokenverifyJWTToken(token);//验证生成的Token}/*** 生成 JWT Token* */private static String createJWTToken() throws JWTCreationException {String secretsecret;//假设服务端秘钥Algorithm algorithm Algorithm.HMAC256(secret);//jwt 头部信息MapString,Object mapnew HashMap();map.put(alg,HS256);map.put(typ,JWT);Date nowDate new Date();Date expireDate AddDate(nowDate,2*60);//120 分钟过期String token JWT.create().withHeader(map).withIssuer(SERVICE) //对应 paylaod iss 节点签发人.withClaim(loginName,fishpro).withSubject(this is a token demo)//对应 paylaod sub 节点主题.withAudience(Client)//对应 paylaod aud 节点受众.withIssuedAt(nowDate)//对应 paylaod iat 节点生效时间.withExpiresAt(expireDate) //对应 paylaod exp 签发人 节点过期时间.sign(algorithm);return token;}/*** 验证 token* */private static void verifyJWTToken(String token) throws JWTVerificationException {Algorithm algorithmAlgorithm.HMAC256(secret);JWTVerifier verifier JWT.require(algorithm).withIssuer(SERVICE).build();DecodedJWT jwt verifier.verify(token);String subjectjwt.getSubject();MapString,Claim claimsjwt.getClaims();Claim claim claims.get(loginName);System.out.println(自定义 claimclaim.asString());ListString audience jwt.getAudience();System.out.println(subject 值subject);System.out.println(audience 值audience.get(0));}/*** 时间加减法* */private static Date AddDate(Date date,Integer minute){if(nulldate)datenew Date();Calendar calnew GregorianCalendar();cal.setTime(date);cal.add(Calendar.MINUTE, minute);return cal.getTime();}}2.5 演示效果 右键 JwtApplication 选择 Run JwtApplication 观察 console 窗口 转载于:https://www.cnblogs.com/fishpro/p/spring-boot-study-jwt.html
http://www.zqtcl.cn/news/275272/

相关文章:

  • 凡客做网站怎么样WordPress分类目录 前100篇
  • 腾讯wordpress 建站教程本地的上海网站建设公司
  • 深圳市南山区住房和建设局官方网站上海专业网站建设公司站霸网络
  • 建网站的8个详细步骤网站集约化建设讲话
  • 建设局哪个网站查证南京注册公司多少钱
  • 免费的网站制作郑州中森网站建设
  • 网站关键词搜不到了濮阳网络教育
  • 推荐股票的好网站如何做好网站宣传
  • 免费网站模板网大型网络游戏
  • 网站开发语言数据库有几种广东省建设厅官网查询
  • 建新建设集团有限公司网站土巴兔装修公司电话
  • 百度网站审核期时间wordpress如何实现收费会员制
  • delphi 2010 网站开发wordpress 变装小说
  • asp.net电子商务网站前台模板企业所得税优惠政策2021年小微企业
  • 成都网站建设 lkcms深圳做网站哪个公司最好
  • 网站降权处理关于网站建设心得体会
  • 互联网站点与wordpress集成软件
  • 网站页面图片布局如何设计最新热点新闻事件
  • 学网站建设难四会市城乡规划建设局网站
  • 网站源码分享网html代码入门基础
  • 农产品网站开发方案陕西建设网成绩查询
  • 网站效益分析iis添加网站ip地址
  • 宣传海报在什么网站做网站建设的能力
  • 温州网站优化优化课程设置
  • 企业推广网站有哪些做百度推广需要什么条件
  • 如何实现网站的快速排名怎么做网站模板
  • 数据型网站建设wordpress 阅读统计
  • a做爰网站集宁建设局网站
  • 黄山建设网站公司电话wordpress微信分享图
  • 大数据网站网站的备案流程图