1条回答 默认 最新
- dp_shiyu 2022-11-30 12:04关注
跟进您当前的需求分析,我理解为当前有多个系统均采用了JWT登录,但其携带数据的签证信息不一致,而需要实现多个系统的单点登录。
单点登录的签证应当被其它的应用服务所承认,并且JWT具有私钥和不同的携带业务信息,首先,你得确定一个签署通道,为您的业务系统建立一个统一的签证通道,并提供统一服务确认签证是否有效并反馈携带信息(当然,这没有把JWT的优势体现出来)。如果JWT签证信息并不影响业务,那么设置一个主服务,统一处理登录之后的签证并设定对应的缓存(redis)等,这种模式下JWT的无状态也显得挺无力的,当其他应用携带签证访问时,可以到统一服务里面调取,调取之后亦可以设置一个缓存,免得每次都得调取。
上面这种还有一种解决方式,那就是拿每个独立子服务的签证去统一服务换统一签证(统一签证因为可以换取源签证),这个统一的签证是所有子服务所认可的,有点类似与 accessToken 和 freshToken 的赶脚。这种修改对源业务逻辑影响不大。
如 内网穿透 兄 提到的 使用三方SSO服务也是可行的。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答
- ¥15 win11 23H2删除推荐的项目,支持注册表等