十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
io.jsonwebtoken
jjwt
0.6.0
新建一个生成token的类
package com.example.demo.controller;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class CreateJwt {
public static void main(String[] args) {
//Jwts.builder()生成
//Jwts.parser()验证
JwtBuilder jwtBuilder = Jwts.builder()
.setId("123")
.setSubject("梦阳") //用户名
.setIssuedAt(new Date())//登录时间
.signWith(SignatureAlgorithm.HS256, "my-123").setExpiration(new Date(new Date().getTime()+60000))//设置过期时间
.claim("role","admin"); //自定义属性
//前三个为载荷playload 最后一个为头部 header
System.out.println(jwtBuilder.compact());
}
}
运行结果为:
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA
package com.example.demo.controller;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import java.text.SimpleDateFormat;
//token的解析
//有状态登录 服务器端保存用户信息
//无状态登录 服务器端没有保存用户信息 无状态效率比有状态效率高
public class PraseJwtTest {
public static void main(String[] args) {
Claims claims = Jwts.parser()
.setSigningKey("my-123")
//.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA")
.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMjMiLCJzdWIiOiLmoqbpmLMiLCJpYXQiOjE1ODIwMDM5MzIsImV4cCI6MTU4MjAwMzk5Miwicm9sZSI6ImFkbWluIn0.vN0pcBVNIixcqp6MsSmGWWVyCc4uOkTpcd8MUDHcn4A")
.getBody();
System.out.println("用户id:"+claims.getId());
System.out.println("用户名:"+claims.getSubject());
System.out.println("用户时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getIssuedAt()));System.out.println("过期时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getExpiration()));
System.out.println("用户角色:"+claims.get("role"));
}
}
运行结果为:
用户id:123
用户名:梦阳
用户时间:2020-02-18 13:32:12
过期时间:2020-02-18 13:33:12
用户角色:admin
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。