JWT校验

1. 什么是JWT

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
通 俗 说 : \color{#FF3030}{通俗说:}

  • 在数据传输过程中还可以完成数据加密,签名等相关处理。

2.JWT应用场景

  • 授 权 : \color{#FF3030}{授权:} :一旦用户登陆,每个后续请求包括JWT,从而允许用户访问该令牌的路由和资源:单点登录
  • 信 息 交 换 : \color{#FF3030}{信息交换:} 信息交换 :在A,B系统之前信息传输。

JWT 原理

在这里插入图片描述

JWT组成

header.payload.signature用点隔开

  • 头部(header)
{
   
  "typ": "JWT",
  "alg": "HS256"
}
Base64 编码
  • 有效载荷(payload)
{
   
  "uid": "1234567890",
  "name": "John Doe",
  "admin": true
}
Base64 编码
  • 签名(signature)

  • 该部分是签名,以token的前两部分作为明文,用共同协商好的秘钥进行签名。

  • 如:用的第一部分选择的算法是HMAC-SHA256,执行以下操作得出签名值

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

使用JWT

1. 引 入 依 赖 : \color{#9B30FF}{1.引入依赖:} 1.

<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.10.3</version>
</dependency>

2. 生 成 t o k e n : \color{#9B30FF}{2.生成token:} 2.to

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值