一、该问题的重现步骤是什么?
1. 我已经登录进BladeX的统一认证平台(前端基于Saber3)
2. 作为所有系统的统一认证门户入口页面,会提供各个系统的访问按钮,这些系统地址会遵照BladeX的统一认证模式实现认证登录后进入各自系统
3. 虽然统一认证平台已经登录进来了,但是各个系统首次登录认证时还是会跳转到blade-auth服务内的登录认证页面
二、你期待的结果是什么?实际看到的又是什么?
期待能够直接使用同·登录的账号作为各系统认证信息,不需要再次跳转blade-auth服务内的登录认证页面
考虑如下方案实现是否可行:
前端跳转第三方系统地址时,带上jwt的token认证信息
后端如果session未找到统一认证用户,则读取当前BladeUser信息,构造统一认证用户。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX4.7
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
正常情况下的单点登录,都是需要走一遍统一认证页面的,你可以应用管理里打开自动授权,后续每次打开子系统,都跳转到统一授权页面的时候,会判断如果打开自动授权,就会再自动跳转到业务系统首页

理解错我的意思了,我的需求是:我搭建了一个统一门户平台,并且这个统一门户还作为对接其他系统的统一认证平台。
我已经登录了统一门户平台了,如下图,红框的各个系统都是已经对接了当前登录的门户平台的统一认证接口,希望在平台上点击各个系统地址时,不要在跳转统一认证的登录页面,因为我已经登录进来了。
我构思的是各个系统的链接都加上当前登录的TOKEN,改造OAuth2AuthorizationEndpoint代码,读取TOKEN,构造认证用户信息。

扫一扫访问 Blade技术社区 移动端