菜单

EasySSO应用对接文档

下载

一、名词解释

  • SP:服务提供者,即注册的应用

  • IDP:身份提供者,即SSO服务

  • shareSecret:注册SP时配置的共享密钥

二、EasySSO Protocol 流程

(1)由 IDP(SSO服务)发起

流程说明:

  1. 用户登录SSO系统后点击应用SP图标

  2. IDP检查SP是否合法,是则生成一个随机code,并生成一个携带此code以及应用spId的url返回给用户浏览器

  3. 将上一步生成的url重定向至应用SP

  4. SP获取url中的参数code以及spId,以此code、spId以及shareSecret为参数发送获取登录用户身份的请求

  5. IDP验证code及ShareSecret是否合法,若合法则返回登录用户信息给SP

  6. 获取登录用户身份信息,用户进入该应用

(2-1)用户已经登录过SSO服务,由 SP(应用)发起

流程说明:

  1. 用户点击访问应用SP的某个链接url

  2. 应用拦截该url,重定向至SSO服务frontService接口,注意拼接该应用注册时的id

  3. IDP验证SP合法性,以及用户是否登录过SSO服务,已登录则生成一个随机code并生成一个携带此code以及应用spId的url返回给用户浏览器

  4. 将上一步生成的url重定向至应用SP

  5. SP获取url中的参数code以及spId,以此code、spId以及shareSecret为参数发送获取登录用户身份的请求

  6. IDP验证code及ShareSecret是否合法,若合法则返回登录用户信息给SP

  7. 获取登录用户身份信息,用户进入该应用

(2-2)用户未经登录过SSO服务,由 SP(应用)发起

流程说明:

  1. 用户点击访问应用SP的某个链接url

  2. 应用拦截该url,重定向至SSO服务frontService接口,注意拼接该应用注册时的id

  3. IDP验证SP合法性,以及用户是否登录过SSO服务,未登录则重定向至SSO服务登录页

  4. 用户登录SSO服务,点击应用SP图标

  5. IDP检查SP是否合法,是则生成一个随机code,并生成一个携带此code以及应用spId的url返回给用户浏览器

  6. 将上一步生成的url重定向至应用SP

  7. SP获取url中的参数code以及spId,以此code、spId以及shareSecret为参数发送获取登录用户身份的请求

  8. IDP验证code及ShareSecret是否合法,若合法则返回登录用户信息给SP

  9. 获取登录用户身份信息,用户进入该应用

说明:由SP发起流程中第2步请求示例:

http://192.168.1.1:8080/uc/service/idp/sso/front/sp/5f9ceca4-b365-481e-a73a-2aa3c18f00f5

三、请求及返回示例

1. 流程图(1)第2步 code 返回示例

重定向URL:

text 复制代码
http://example.com/app/sso?spId=7586ddca-c8f7-4266-96fb-92f772adb2b5&code=29534469-3ab8-4de3-acbd-4fedc57f1a0b
参数 参数说明
spId 注册应用id
code 返回的code

2. 流程图(1)第4/5步请求及返回示例

SP请求:

text 复制代码
http://dksso.com/uc/service/idp/sso/easy/userInfo?spId=7586ddca-c8f7-4266-96fb-92f772adb2b5&code=29534469-3ab8-4de3-acbd-4fedc57f1a0b&sharedSecret=bbddc6bf-5090-4889-924e-47518580258b

IDP返回:

json 复制代码
{
    "success": true,
    "errorCode": 0,
    "data": {
        "userId": "93ea76e2-2755-4ada-aef1-889ae0d6e158",
        "loginName": "test",
        "mobiles": [],
        "roles": [],
        "passwordUpdateTime": 1538033566000
    },
    "message": null
}
最近修改: 2026-10-22Powered by