jwt token java_java JWT生成和解析token的使用

本文介绍了如何使用Java生成和解析JWT Token,用于实现单点登录。JWT包含Header、Claim和ExpiresAt,使用HMAC SHA256算法进行加密。通过JWTUtil工具类,可以创建带过期时间的Token,并验证Token的有效性。此外,还展示了如何设置定时任务来定期验证Token。
摘要由CSDN通过智能技术生成

以前单体应用控制登录session就够了,后来对于多客户端,可以用cas做统一认证,之前也成功配置过cas5.3.9实现多客户端单点登录单点登出案例,但是也很麻烦,最大的缺点是cas还要另起一个用来做统一认证的服务,占用一个端口,而且也很吃内存,相似原理的还可以用redis等缓存数据库弄一个共享缓存,也可以实现多客户端单点登录的功能,但是这两个的方法都要额外占用端口和服务,直到了解到JWT。

JWT是用java写的,可以生成一个独一无二的token字符串。

包括Header,Claim,ExpiresAt,sign,Header通常由两部分组成:令牌的类型,即JWT。和常用的散列算法,如HMAC SHA256或RSA。

例如:

{

"alg": "HS256",

"typ": "JWT"

}

Header部分的JSON被Base64Url编码,形成JWT的第一部分。

Clainm是要加密的StringId,ExpiresAt可以设置过期时间,sign可以自己私加密匙,如此:

JWT.create()

.withHeader(header)

.withClaim("userId", userId)

.withExpiresAt(date)

.sign(algorithm);

便可以创建出一个加密的token字符串,通过把这个字符串分发给其他客户端就可以识别是不是同一个用户,是哪个用户,从而很简单的实现单点登录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值