我是靠谱客的博主 聪明手链,最近开发中收集的这篇文章主要介绍第三方单点登录接入接口方案(参与)一、问题二、接口设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我的指导人的文章:https://blog.csdn.net/zhou920786312/article/details/119546135
————————————————

第三方单点登录接入接口方案

说明

一、问题

目前我们有一套自己的oa系统,oa系统有个门户页面,我们需要在这个门户上单点集成其他系统。每个其他系统都有自己的单点登陆方式,比如其他系统1使用token集成单点,其他系统2使用session集成单点。

思考

如果我们对每一个其他系统都做适配的话,以后接入进来的系统,我们都需要开发,这样不仅会导致工作量太大,而且也不能很好的统一单点登陆。

所以我的设计就是,让其他系统提供一个接口(/autherThirdLogin),接口url和参数我们来定义。这样我们只需要调用
接口,通知其他系统,这个用户需要跳转你的系统。

/autherThirdLogin核心设计

  1. 需要对参数进行签名,防止数据被篡改
  2. 需要对参数进行加密,防止被别人解析
  3. 需要对参数进行失效设计,防止别人截取到url,以后就能直接登录。

二、接口设计

2.1、/autherThirdLogin接口定义

描述

通知其他系统,某个用户需要免登陆跳转到其他系统上 

请求URL

http://第三方系统IP:端口/autherThirdLogin

请求方式

POST 

请求参数

请求参数必选参数类型说明
keytrueString加密的数据

返回字段

返回字段字段类型说明
codeint0 成功,-1失败
messageStringfailure,sucess
dataObject扩展返回的map对象
tokenStringtoken
sessionIdStringsessionId
returnLinkString跳转的url

请求示例

http://localhost:8080//autherThirdLogin?key=7khdRKH-GlI_b454egJjhBJpY0NwA6ulY_zWHyQ7fxbKuTSEdtxO_WeogVRiy0QMqQ7HjbPAa31NWCl-24lqplEtqmC2sO6f9bmGq5OLYEgjmUiU5jlcQ9kZN6K2Nx7_RAZK4DnzRIkYHFRdSwGP7flpfqsaL8zuXcBF-7JcX8fhqEee9YjNVQnUkd8c3HE1H9Alf0L8OjGBr0xrz8WKV92kVcBOtY-kVmQ_c6SbmTo1nLnOpkv55OWjChWbVl9SA4F6q3HVem0gJqKPw-aX4dryQRTu1ZHIZhC15KlNsEgpXuYhdSfD2m6eGJBzaK2B

返回示例

demo

{
    "code": 0,
    "message": "sucess",
    "data": null,
    "token": "123",
    "sessionId": "123",
    "returnLink": "http://ip:端口/autherThirdLogin2"
}

举例案例和demo,参考demo

代码位置
https://download.csdn.net/download/zhou920786312/20934764

最后

以上就是聪明手链为你收集整理的第三方单点登录接入接口方案(参与)一、问题二、接口设计的全部内容,希望文章能够帮你解决第三方单点登录接入接口方案(参与)一、问题二、接口设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部