springboot jjwt
阅读数:127 评论数:0
跳转到新版页面分类
python/Java
正文
JJWT 全称Java Json Web Token。
而JWT是一种在两方之间传输信息的方法,在jwt的主体中编码的信息被称为claims。jwt的扩展形式是json,因此每个claim都是json对象中的一个键。
jwts增强了可验证性,接收都可以确定jwt没有通过验证签名来篡改。jwts可以加密签名成为jws,或加密成为jwe。
jwts生成的jwt的结果有三个部分的字符串,每个部分由“.”分隔。
1、每一部分都是base 64编码,称为header,必须指定用于签署jwt的算法。
2、第二部分是body,包含了jwt编码的所有声明。
3、第三部分是signature,它通过在头文件中指定的算法通过header和body的组合来计算。
header
{
"alg": "HS256"
}
body
{
"sub": "Joe"
在这种情况下,我们得到的信息是使用sha-256算法的HMAC来签署JWT,而且有一个claim sub与value Joe。claims包含一些标准的claims,所有claim都是可选的,并且是大小写敏感的。
1、iss
issuer,是签发该证书的负责人。
2、sub
subject,主体
3、aud
Audience,是指jwt的接受者。
4、exp
expiration time,过期时间。
5、nbf
Not before,开始日期
6、iat
issued at,是指jwt的发行时间
7、jti
jwt id,jwt提供唯一的标识符。
maven依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
编码解码
String compactJws = Jwts.builder()
.setSubject("Joe")
.compressWith(CompressionCodecs.DEFLATE)
.signWith(SignatureAlgorithm.HS512, key)
.compact();
try {
Jws<Claims> claims = Jwts.parser()
.requireSubject("Joe")
.require("hasMotorcycle", true)
.setSigningKey(key)
.parseClaimsJws(compactJws);
} catch (MissingClaimException e) {
// we get here if the required claim is not present
} catch (IncorrectClaimException e) {
// we get here if the required claim has the wrong value
}
相关推荐
一、request uri部分 @PathVariable
获取路径参数,形如url/{id}
二、request header部分 @RequestHeade
一、概述
一个项目使用多个数据库(无论是主从复制--读写分离还是分布式数据库结构)的重要性变得越来越明显,整合的多数据源有两种方式:分包和aop。
1、SqlSessionTemplate
SqlSe
一、概述
PageHelper是开源免费的mybatis第三方分页插件。
二、使用
1、pom引入
<dependency>
<groupId>com.github.pageh
一、日志框架的介绍
Spring Boot 2.*默认采用slf4j+logback的形式,slf4j是个通用的日志门面,logback就是个具体的日志框架了。
一、问题解决方式
@PostMapping("/insert")
@ResponseBody
private ResultVO insert1(@RequestParam Map<String, St
一、概述
@EnableConfigurationProperties注解的作用是:让使用了@ConfigurationProperties注解的类生效,并且将该类注入到IOC容器中,交由IOC容器进
一、概述
Druid(德鲁伊)是Java语言中的数据库连接池,Spring Boot 2.x默认使用Hikari数据源,虽然HikariCP的速度稍快,但是,Druid能够提供强大的监控和扩展功能。
1、配置文件的格式
springboot可以识别两种格式的配置文件,分别是yml文件与properties文件,我们可以将application.properties文件换成a
一、概述
ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationCont