Skip to content

平台集成第三方系统

约 992 字大约 3 分钟

2025-04-16

中交人工智能服务助手集成第三方系统

概述

中交人工智能服务助手 提供了OAuth2 的授权登录方式,可以让从平台内 打开的第三方系统网页 获取成员的身份信息,从而免去登录的环节。

中交人工智能服务助手 中的 URL 链接(包括自定义菜单或者消息中的链接),均可通过 OAuth2.0 验证接口来获取成员的UserId 身份信息(4A 账号)

image

调用流程

  1. 用户从中交人工智能服务助手内 访问第三方平台,浏览器访问第三方平台 URL 时,会在第三方平台 URL 后附上一个授权码参数
  • 假设第三方平台 URL 设置为:https://www.app.com?state=xxx
  • 访问 第三方平台前,会先拼接授权码 code 参数,拼接后跳转第三方页面的 URL 为:https://www.app.com?state=xxx&code=xxx
  • 提醒:鉴于部分系统接入过 4A 认证,如需避免冲突,可在链接上携带一个自定义参数,标识此 code 为中交人工智能服务助手所生成
  1. 第三方平台收到授权码后,携带授权码第三方平台来源域名或 IP 端口 ,调用【根据鉴权码获取 身份信息】接口向中交人工智能服务助手 申请UserId 身份信息(4A 账号)
  2. 第三方平台获取到 UserId 身份信息后,生成第三方平台相关信息,返回数据,渲染页面。

示例:

  1. https://asr.eiop.cn/?code=....&fromPlatform=c4ai&state=route%3Dhome#/
  2. asr.eiop 服务,通过 code 调用https://c4ai.ccccltd.cn/api/sys-auth/oauth/getUserInfo 获取用户信息

相关接口

1. 根据鉴权码获取身份信息

  • 请求方式:POST(HTTPS)
  • 请求地址:https://c4ai.ccccltd.cn/api/sys-auth/oauth/code/userInfo
  • 请求包体(body):
{
	"sourceUrl": "https://c4ai.ccccltd.cn", //需与获取授权码接口的redirect_uri参数一致
	"code": "OHieFX" // 获取授权码接口返回code
}
参数必须说明
sourceUrl该参数为第三方平台网页 URL 来源域名或 IP 端口 ,必须与访问链接的域名或 IP 端口完全一致;
1. 例如 假定重定向访问的链接如下,对应的 sourceUrl
- https://app.cccc.com:8080/cgi-bin/helloworld => sourceUrl=app.cccc.com:8080
- https://mail.cccc.com/cgi-bin/helloworld => sourceUrl=app.cccc.com
- http://192.168.1.1:8080/cgi-bin/helloworld => sourceUrl=192.168.1.1:8080
code访问第三方平台 url 上携带参数 code,最大为 512 字节。每次成员授权带上的 code 将不一样,code 只能使用一次,5 分钟未被使用自动过期。

返回结果:

{
	"status": true,
	"data": {
		"userId": "admin", //用户id,用户唯一标识,与4A账号一致
		"userName": ""
		//...otherInfo
	},
	"code": 8000000,
	"message": "成功",
	"txId": "c7d48dc336f2cf0f158d247a09ccf4a4"
}

2. 根据鉴权码获取鉴权信息

  • 请求方式:POSTHTTPS
  • 请求地址: https://c4ai.ccccltd.cn/api/sys-auth/oauth/code/token
  • 请求包体(body):
{
	"sourceUrl": "https://c4ai.ccccltd.cn", //需与获取授权码接口的redirect_uri参数一致
	"code": "OHieFX" // 获取授权码接口返回code
}
参数必须说明
sourceUrl该参数为第三方平台网页 URL 来源域名或 IP 端口 ,必须与访问链接的域名或 IP 端口完全一致;
1. 例如 假定重定向访问的链接如下,对应的 sourceUrl<\br>
- https://app.cccc.com:8080/cgi-bin/helloworld => sourceUrl=app.cccc.com:8080
- https://mail.cccc.com/cgi-bin/helloworld => sourceUrl=app.cccc.com
- http://192.168.1.1:8080/cgi-bin/helloworld => sourceUrl=192.168.1.1:8080
code访问第三方平台 url 上携带参数 code,最大为 512 字节。每次成员授权带上的 code 将不一样,code 只能使用一次,5 分钟未被使用自动过期。

返回结果:

{
	"status": true,
	"data": {
		"token": "xxxx"
	},
	"code": 8000000,
	"message": "成功",
	"txId": "c7d48dc336f2cf0f158d247a09ccf4a4"
}

答疑:

  1. 如果我想要调用中交人工智能服务助手【c4ai】的智能体 RESTAPI 接口,怎么授权?

答:https://c4ai.ccccltd.cn/api/sys-auth/oauth/getToken接口,获取 token。通过所得 token 调用 c4ai 相关后台接口即可