当前位置: 首页 > news >正文

SSO 系统设计_token 生成

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));}

在这里插入图片描述

参考资料和推荐阅读

参考资料
官方文档
开源社区
博客文章
书籍推荐

  1. 暂无

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~

http://www.lryc.cn/news/205918.html

相关文章:

  • 电表安数大小和省电有关吗?
  • 树上形态改变统计贡献:1025T4
  • 如何处理与智能床相关的医疗建议和医疗器械证明?
  • 云原生之深入解析如何合并多个kubeconfig文件
  • Netty实战-实现自己的通讯框架
  • S4.2.4.3 Electrical Idle Sequence(EIOS)
  • MySQL的优化利器:索引条件下推,千万数据下性能提升273%
  • 回归预测 | MATLAB实现BO-BiLSTM贝叶斯优化双向长短期神经网络多输入单输出回归预测
  • SOCKS5代理在全球电商、游戏及网络爬虫领域的技术创新
  • Flutter extended_image库设置内存缓存区大小与缓存图片数
  • 第2篇 机器学习基础 —(1)机器学习概念和方式
  • LiveGBS流媒体平台GB/T28181常见问题-海康大华宇视硬件NVR摄像头通道0未获取到视频通道如何排查如何抓包分析
  • 在项目中同时使用SpringCloud和Dubbo,注册中心选用Eureka?
  • 蓝凌EIS智慧协同平台saveImg接口任意文件上传漏洞复现 [附POC]
  • 【好书推荐】《用户画像:平台构建与业务实践》
  • JavaScript进阶 第二天笔记
  • AUTOSAR AP 硬核知识点梳理(2)— 架构详解
  • k8s-----23、Taint和Toleration、污点和容忍
  • 全面解析优化企业Microsoft 365网络的加速方案
  • Xilinx MicroBlaze定时器中断无法返回主函数问题解决
  • Spark SQL概述与基本操作
  • KDChart3.0编译过程-使用QT5.15及QT6.x编译
  • 一、PHP环境搭建[phpstorm]
  • 光影之梦2:动画渲染前后对比,揭示视觉艺术的惊人转变!
  • pytorch_lightning:Validation sanity check: 0%| | 0/2 [00:00<?, ?it/s]
  • 2、Linux权限理解
  • Linux 通过 sed 命令过滤指定日期的日志文件并输出到新文件
  • 景联文科技:针对敏感数据的安全转录服务,护航信息安全
  • Excel宏(VBA)自动化标准流程代码
  • vue vue3开发 vue2和vue3的选择