单点登录与业务系统架构:单点登录页面唤起失败

Blade 未结 1 224
石老记
石老记 剑圣 2025-08-07 11:56

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

1. BladeX版本:  bladex.project.version = 4.5.0.RELEASE

2.  A系统与B系统,都是业务系统,均使用 boot版本+saber3.  目前A、B系统的登录页面,都只留了密码登录功能

3.  计划开启单点登录,阅读doc开发文档5.1.8 ,完成a,b系统的数据库配置

4.  B系统 saber3的website.js 进行如下配置


oauth2: {

// 是否开启注册功能

registerMode: true,

// 使用后端工程 @org.springblade.test.Sm2KeyGenerator 获取

publicKey: 'xxxx',

// 第三方系统授权地址

authUrl: 'wu',

// 单点登录系统认证

ssoMode: true, // 是否开启单点登录功能

ssoBaseUrl: 'http://localhost:2800', // 单点登录系统地址(cloud端口为8100, 【 boot 后端端口为 23480,saber3访问端口是 2800 】)

ssoAuthUrl: '/oauth/authorize?client_id=b系统&response_type=code&redirect_uri=', // 单点登录授权地址

ssoLogoutUrl: '/oauth/authorize/logout?redirect_uri=', // 单点登录退出地址

redirectUri: 'http://localhost:2888/login', // 单点登录回调地址(Saber服务的登录界面地址) - b系统的回调登录页面

},


同时在B系统的登录页面,把 “账户密码登录” “单点登录” 操作显示出来


5. A系统的saber3的website.js 没有开发单点登录,故未修改website.js里关于oauth2里关于单点登录系统认证的配置

6. A系统的数据库,应用管理里面,已配置b系统的内容

7. 点击B系统的login页面的”单点登录“


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

期待:大约是A系统的单点登录授权页面,如这样

1745980495399_d.png


实际:仅调用调了 a系统的登录页面,url地址显示为:http://localhost:2800/login,而这个页面上只有我配置的userlogin界面。


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

boot版本,linux系统

<bladex.project.version>4.5.0.RELEASE</bladex.project.version>


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


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

1条回答
  • 2025-08-07 12:01

    ssoBaseUrl要配置后端地址+端口,不能配置前端。

    配置好后看下最终的地址是多少,如果是后端地址端口开头,那就会正确跳转到后端的单点登录界面。

    具体应用可以看下我们线上的系统:https://saber3.bladex.cn

    9621754539254_.pic.jpg

    作者追问:2025-08-07 12:22

    https://saber3.bladex.cn
    这里面哪里有说明?

    作者追问:2025-08-07 12:22

    image.png

    让我看这个?

    回答: 2025-08-07 13:06

    1. ssoBaseUrl要配置后端地址+端口,不能配置前端。
    2. 配置好后看下本地的地址是多少,如何格式和线上的一致就是对的。

    0 讨论(0)
提交回复