外部系统集成云链


云链提供的是一套能自由扩展适配不同技术方案的接入能力,无需从 0 开始耗费大量时间、人力成本进行额外开发,提高与第三方开发者对接的效率

接入地址/接口

当你需要接入的是云链 PC 后台功能时,你需要将下面的跳转链接配置到自己系统的相应菜单/功能链接处。链接所需要携带的参数在确定对接方案后,向云链相关开发人员获取

# 测试环境
https://passport-test.myyscm.com/sso/login
# 生产环境
https://passport.myysq.com.cn/sso/login

当你需要接入的是云链 H5 的业主(会员)端功能时,你需要将下面的跳转链接配置到自己系统的相应菜单/功能链接处。链接所需要携带的参数在确定对接方案后,向云链相关开发人员获取。该方式支持被集成到 小程序 H5、公众号 H5、APP 内嵌 H5 等场景中

# 测试环境
https://vmember-test.myyscm.com/wap/sso/login
# 生产环境
http://vmember.myysq.com.cn/wap/sso/login

当你需要通过某种方式唤醒云链 APP 时,你可以通过访问对应的 URL Scheme 进行唤醒动作。相关的云链 APP URL Scheme 如下

APP URL Scheme 额外需要的参数
智慧工程(云链超级 APP) (生产)appse://
(测试)appsetest://
source 唤醒来源
智慧客服 (生产)appzhkf://login
(测试)appzhkftest://login

支持的身份认证方案

目前已集成兼容的标准方案有:

  1. 基于 OAuth2.0 协议的授权码(authorize_code)认证
  2. 基于主流加密算法的数据加解密认证
  3. 基于参数签名校验的认证
  4. 基于 SOAP 协议 WebService API 校验的认证

注意:无论选用哪种方案对接,均需要提供的固定参数有:ssoCenterLoginType(认证模式)、appCode(单点集成对接系统的编码 Code)、tenantCode(单点对接的云链租户号)、returnUrl(单点登录后跳转的云链业务功能地址,选择性提供)

1. 基于 OAuth2.0 协议的授权码认证(THIRD_TOKEN)

当对接方系统支持标准 OAuth2.0 协议的身份认证机制,或者是类似的身份认证机制时(比如:通过给其他系统提供一个临时凭证,可能是 Token Ticket Code 等任何的数据,其他系统拿到凭证后调用接口获取对应的用户信息),都可以按照授权码模式来完成单点需求的对接。标准的 OAuth2.0 授权码认证时序流程如下图 5-1 所示

img

在该认证模式下,除了固定参数以外。如果第三方系统支持重定向认证地址获取授权码,则无需额外的参数提供。如果第三方系统仅支持接口验证某个下发的凭证是否有效,需要再额外提供相应的凭证参数,参数名推荐使用 code

2. 基于主流加密算法的数据加解密认证(CRYPTE)

当对接方系统有现成的数据安全加密能力时,可以通过将相关用户身份标识数据通过双方约定好的密钥、加密算法进行相关的安全加密处理,并传递给云链。当云链获取到加密数据后,会尝试使用约定好的配置进行数据解密并匹配对应用户完成单点

在该认证模式下,除了固定参数以外。第三方系统需要将用户身份敏感信息加密后的数据作为补充参数传递过来,参数名推荐使用 encryptedData

3. 基于参数签名校验的认证(SIGNATURE)

当对接方系统有现成的数据签名能力时,可以通过将用户身份标识数据通过双方约定好的签名 Key 签发一个签名,并将签名携带在参数中传递给云链。当云链获取到单点参数后,会尝试验证签名的合法性(同时支持选配是否验证签名的时效性)并匹配对应用户完成单点

在该认证模式下,除了固定参数以外,第三方系统需要将除签名密钥 Key 以外,签名过程中所用到的各项参数以及签名作为补充参数传递过来。比如:timestampnonceaccountsignature

4. 基于 SOAP 协议 WebService API 校验的认证(SOAP)

当对接方系统提供了相关可以校验/识别获取用户身份信息的 WebService API 时,可以将相关的 WSDL 描述文件以及相关的接口说明文档提供出来。云链根据接口文档以及描述文件添加相关配置,并通过 WebService API 返回的用户身份信息匹配对应用户完成单点

在该认证模式下,除了固定参数以外,第三方系统需要将调用 WebService API 所需的各项参数作为补充参数传递过来。比如:假设此时需要调用的 WebService API 方法是 getUserInfo(accessToken),则 accessToken 就是我们需要的补充参数

results matching ""

    No results matching ""