oauth2.0--基础--07--第三方单点登录接入接口方案
程序开发
2023-09-03 23:33:23
oauth2.0–基础–07–第三方单点登录接入接口方案
代码位置
https://download.csdn.net/download/zhou920786312/20934764
1、问题
- 目前我们有一套自己的oa系统,oa系统有个门户页面,我们需要在这个门户上单点集成其他系统。
- 每个其他系统都有自己的单点登陆方式,比如其他系统1使用token集成单点,其他系统2使用session集成单点。且不能去让其他系统去修改他们的单点方式。
- 没有统一认证中心
思考
如果我们对每一个其他系统都做适配的话,以后接入进来的系统,我们都需要开发,这样不仅会导致工作量太大,而且也不能很好的统一单点登陆。
所以我的设计就是,让其他系统提供一个接口(/autherThirdLogin),接口url和参数我们来定义。这样我们只需要调用
接口,通知其他系统,这个用户需要跳转你的系统。
/autherThirdLogin核心设计
- 需要对参数进行签名,防止数据被篡改
- 需要对参数进行加密,防止被别人解析
- 需要对参数进行失效设计,防止别人截取到url,以后就能直接登录。
2、接口设计
2.1、/autherThirdLogin接口定义
描述
通知其他系统,某个用户需要免登陆跳转到其他系统上
请求URL
http://第三方系统IP:端口/autherThirdLogin
请求方式
POST
请求参数
返回字段
请求示例
http://localhost:8080//autherThirdLogin?key=7khdRKH-GlI_b454egJjhBJpY0NwA6ulY_zWHyQ7fxbKuTSEdtxO_WeogVRiy0QMqQ7HjbPAa31NWCl-24lqplEtqmC2sO6f9bmGq5OLYEgjmUiU5jlcQ9kZN6K2Nx7_RAZK4DnzRIkYHFRdSwGP7flpfqsaL8zuXcBF-7JcX8fhqEee9YjNVQnUkd8c3HE1H9Alf0L8OjGBr0xrz8WKV92kVcBOtY-kVmQ_c6SbmTo1nLnOpkv55OWjChWbVl9SA4F6q3HVem0gJqKPw-aX4dryQRTu1ZHIZhC15KlNsEgpXuYhdSfD2m6eGJBzaK2B
返回示例
{"code": 0,"message": "sucess","data": null,"token": "123","sessionId": "123","returnLink": "http://ip:端口/autherThirdLogin2"
}
举例案例和demo,参考demo
标签:
上一篇:
vscode中代码提示失效问题
下一篇:
相关文章
-
无相关信息