一、该问题的重现步骤是什么?
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系统的单点登录授权页面,如这样
实际:仅调用调了 a系统的登录页面,url地址显示为:http://localhost:2800/login,而这个页面上只有我配置的userlogin界面。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot版本,linux系统
<bladex.project.version>4.5.0.RELEASE</bladex.project.version>
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
ssoBaseUrl要配置后端地址+端口,不能配置前端。
配置好后看下最终的地址是多少,如果是后端地址端口开头,那就会正确跳转到后端的单点登录界面。
具体应用可以看下我们线上的系统:https://saber3.bladex.cn
https://saber3.bladex.cn
这里面哪里有说明?
让我看这个?
1. ssoBaseUrl要配置后端地址+端口,不能配置前端。
2. 配置好后看下本地的地址是多少,如何格式和线上的一致就是对的。
扫一扫访问 Blade技术社区 移动端