如何在不同版本的blade之间做单点登录

Blade 未结 1 452
pump
pump 剑者 2025-02-21 09:31

一、该问题的重现步骤是什么?

1.  将3.0.0版本的blade-cloud作为单点登录授权服务端server

2.  将4.3.0版本的blade-cloud作为客户端client

3.  用户打开4.3.0的单点登录跳转到3.0.0版本上进行授权,授权之后再跳转回4.3.0版本client


二、你期待的结果是什么?实际看到的又是什么?

不同版本之间支持单点登录吗,需要如何配置,以及需要做哪些编码上的改动?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1740101484793_d.png

1条回答
  • 2025-02-21 10:00

    这个没法实现,4.x改动比较大,auth模块完全重构了,而且加了更多安全特性,无法复用

    作者追问:2025-02-21 10:30

    如果是同一个版本,比如都用的4.3.0,是不是就可以了,我看了代码里面的逻辑是要求客户端和服务端连到同一个redis,才能认证通过? 如果不连同一个redis,如何实现呢?

    作者追问:2025-02-21 10:33

    因为我的客户端有多个,让他们都去连一个redis是不现实的

    回答: 2025-02-21 10:35

    不需要链接同一个redis呀,认证逻辑都是独立的,auth服务链接的redis不影响客户端链接别的redis。如果是同版本4.3.0做认证就没问题了

    作者追问:2025-02-21 10:43

    但是我测试了链接同一个redis是可以认证通过,如果连的不同的redis认证就失败,我debug发现认证的时候是从redis里根据code查询的用户信息,这个用户信息是存在server端的redis里面了,客户端redis里面是查不到的1740105747075_d.png

    作者追问:2025-02-21 14:03

    麻烦再帮忙确认下呢,我这边看了确实是通过redis里面取的code值拿的用户信息,如果不是同一个redis,是取不到用户信息的,还是我哪里配置的有问题呢?1740117745124_d.png

    0 讨论(1)
提交回复