单点登录

  • 接口(建议后缀):/sso/login
  • Method:GET 或 POST(二选一,响应方式有所不同)
  • 调用方:每刻
  • 接口说明:员工通过每刻单点登录到第三方

请求参数

字段 类型 必填 描述
externalApprovalNo String [1] 申请单在第三方唯一标识
externalCorpCode String Y 企业在第三方唯一标识
externalEmployeeCode String Y 员工在第三方唯一标识
orderId String [2] 订单号
operationId String [2] 操作号
page String N 跳转页面
type String N 设备类型
coordinates List<Coordinate> N 设备定位坐标(支持同时传多种坐标系,默认只传高德坐标系)GET 模式在 url 参数中为 &coordinates=%5Blongitude%3A114.123%2Clatitude%3A514.123%2CcoordinateType%3AGAODE%5D
tokenId String [3] token
sign String [4] 校验参数
timestamp String [4] 校验时间戳 (毫秒级)

[info] 说明:
[1] 如果参数中 externalApprovalNo 非空,基于 externalApprovalNo 跳转,否则按照 page 参数跳转。
[2] orderId 和 operationId 是成对出现的,如果带了 orderId 就一定会有 operationId,但是第三方可以选其一进行解析,实现跳转到指定订单的详情页面。
[3] tokenId 是否必传根据第三方来约定,且如果请求方式为 GET 在请求参数中,如果为 POST 则在请求头中。
[4] 如果第三方对于单点登录的安全性有要求的话,可以实现这个校验逻辑,校验逻辑并不是必须要实现的。

跳转页面

code 定义
index or 未传 首页
hotel 酒店搜索页
flight 机票搜索页
train 火车票搜索页
car 用车搜索页
meal 用餐票搜索页

设备类型

code 定义
PC PC 端
MOBILE 移动端

Coordinate

字段 类型 必填 描述
longitude String Y 经度
latitude String Y 纬度
coordinateType CoordinateType Y 坐标系(默认高德)

CoordinateType

code 定义
GAODE 高德
BAIDU 百度

校验参数

[info] 校验参数 sign 的生成规则:
在参数列表中增加 externalCorpSecret (企业在 TMC 中的认证密码),按照属性名称进行升序排序按照 URL 参数形式进行属性字符串拼接将拼接好的参数进行 MD5 哈希,得到的小写签名作为 sign coordinates 不参与加签

示例:

{
    "externalApprovalNo": "",
    "externalCorpCode": "6143735468535327742",
    "externalEmployeeCode": "emp001",
    "externalCorpSecret": "corp_secret",
    "orderId": "",
    "operationId": "",
    "page": "flight",
    "type": "PC",
    "tokenId": "123456",
    "timestamp": 1614045878555
}
1. 将以上参数进行字符串升序排序
   ['externalApprovalNo', 'externalCorpCode', 'externalCorpSecret', 'externalEmployeeCode', 'orderId', 'operationId', 'page', 'timestamp', 'tokenId', 'type']

2. 按照 URL 参数形式拼接
   externalApprovalNo=&externalCorpCode=6143735468535327742&externalCorpSecret=corp_secret&externalEmployeeCode=emp001&orderId=&operationId=&page=flight&timestamp=1614045878555&tokenId=123456&type=PC

3. 最后做一次 MD5 哈希
   f45e6b947264d06171be52fccc973dd1

返回参数

以下返回参数只在 POST 请求时才需要返回, 使用 GET 跳转方式则直接在用户请求时 302 跳转到第三方具体页面即可

字段 类型 必填 描述
success bool Y 请求是否成功
errorMessage String N 失败原因
data String Y SSO URL

results matching ""

    No results matching ""