第三方应用对接技术文档
对接原理:
- 管理员在企业管理后台的"第三方应用管理"界面配置好第三方应用后,用户在论客客户端会获取第三方应用列表。
- 当用户在客户端点击应用图标时,会打开管理员配置的入口url,并带上一些用于身份认证的参数。
入口url页面里的逻辑:用身份认证的参数去请求认证服务器提供的接口,认证通过后得到当前用户的身份信息,然后重定向到业务页面。
- 目前可选择去coremail服务器或论客服务器认证用户身份,论客客户端会根据管理员配置的认证方式传入不同的参数,因此必须保证这里选择的服务器与配置的一致。
在论客客户端能正常看到第三方应用的业务页面,对接完成。
身份认证
coremail服务器
如果管理员配置的认证方式是coremail服务器,url上携带的身份认证参数举例如下(实际参数做了urlencode处理):"coremail_userid=test@test.com&coremail_username=张三&domain=test.com&sid=BASNysddrVjTsgUQrTddVoxChLIgXnHg"
字段 | 说明 |
---|---|
coremail_userid | 用户邮箱 |
coremail_username | 用户姓名 |
domain | 邮箱域名 |
sid | 会话id |
第三方应用的入口url页面里,应从请求的queryString获取到以上几个字段,根据coremail系统提供的接口用sid获取到用户的信息,并对比接口返回的邮箱是否与传入的coremail_userid一致,若一致则认证通过。
论客服务器
如果管理员配置的认证方式是论客服务器,url上携带的身份认证参数举例如下(实际参数做了urlencode处理):"app_id=1&token=BASNysddrVjTsgUQrTddVoxChLIgXnHg&uid=#1068#U"
字段 | 说明 |
---|---|
app_id | 应用的id |
token | 用户会话标识 |
uid | 用户身份标识 |
第三方应用请求论客服务器,获取用户身份接口:cim.third:checkToken
POST请求示例
curl "https://web.lunkr.cn/lunkr/s/json?func=cim.third:checkToken" -d
请求体
{
app_id:"1",
token:"BASNysddrVjTsgUQrTddVoxChLIgXnHg",
uid:"#1068#U"
}
返回示例
{
"code": "S_OK",
"var": {
"coremail_userid":"test@test.com",
"coremail_username":"张三",
"domain":"test.com"
}
}
请求 JSON object 定义
属性 | 类型 | 说明 |
---|---|---|
app_id | string | 应用id |
token | string | 用户会话标识 |
uid | string | 用户身份标识 |
返回 JSON object 定义
属性 | 类型 | 说明 |
---|---|---|
code | string | 返回码 |
var | object | 返回数据 |
coremail_userid | string | 对应coremail系统的email |
coremail_username | string | 对应coremail系统的用户名称 |
domain | string | 对应coremail系统的域名 |
如果调用接口后能正常获取到coremail_userid,说明验证通过,否则验证失败,应用可重定向到登录页面。