济南网站搜索优化山东做网站
SSO 系统设计_token 生成
- 目录
- 概述
- 需求:
- 设计思路
- 实现思路分析
- 1.增加依赖
- 2.代码编写
- 3.测试
- 参考资料和推荐阅读
Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
需求:
我们知道token 就是个字符串之类的,所以我们采用如下生成:
1.增加依赖
2. 代码编写
3. 测试
设计思路
实现思路分析
1.增加依赖
<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-impl</artifactId><version>2.3.0</version></dependency><dependency><groupId>com.sun.xml.bind</groupId><artifactId>jaxb-core</artifactId><version>2.3.0</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency>
2.代码编写
package entity;public class UserEntity {private String name;private String id;private String phone;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}
}
public String getToken(UserEntity userEntity ) {//设置算法为HS256SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;Date now = new Date(System.currentTimeMillis());JwtBuilder builder = Jwts.builder()//设置header.setHeaderParam("typ", "JWT").setHeaderParam("alg", "HS256")//设置iat.setIssuedAt(now)//设置payload的键值对.claim("name", userEntity.getName()).claim("id", userEntity.getId()).claim("phone", userEntity.getPhone()).setIssuer("AuroraLove")//签名,需要算法和key.signWith(signatureAlgorithm, SECRET_KEY);String jwt = builder.compact();return jwt;}
3.测试
@Testpublic void genTOken(){SsoServer ssoServer=new SsoServer();UserEntity userEntity=new UserEntity();userEntity.setId("1");userEntity.setName("2");userEntity.setPhone("3");System.out.println( ssoServer.getToken(userEntity));}
参考资料和推荐阅读
参考资料
官方文档
开源社区
博客文章
书籍推荐
- 暂无
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~