员工身份(EIAM)
APP服务端开发
应用开发
# 获取API访问凭证接口
说明 | 示例 |
---|---|
请求url | https://{domain}/api/oap/oauth/token |
请求方式 | POST |
# 请求参数
参数 | 说明 |
---|---|
grant_type | 固定值client_credentials,oauth的客户端模式 |
client_id | API提供者分配的client_id |
client_secret | API提供者分配的client_secret |
# 请求示例
{
"grant_type": "client_credentials",
"client_id": "ZUSQzclVGYF",
"client_secret": "fnH5one7AmxPbl6ky6VHuFBNYQ88vAdvu0"
}
1
2
3
4
5
2
3
4
5
# 返回参数
参数 | 填写参考 |
---|---|
access_token | 访问凭证 |
token_type | token类型 |
expires_in | 有效时间 |
scope | oauth2的作用域 |
id_token | jwt格式的权限信息 |
# 返回示例
{
"access_token": "f7a815eb-c546-4052-b099-b554de1436c7",
"token_type": "bearer",
"expires_in": 764,
"scope": "all",
"id_token": "eyJraWQiOiJrMSIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJJc3N1ZXIiLC"
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 换取ssoTicket接口
参数 | 接口url |
---|---|
请求url | /api/oap/v1/sso/session_ticket |
请求方式 | POST |
# 请求参数
参数名 | 中文名称 | 是否必须 | 示例值 |
---|---|---|---|
sessionToken | sessionToken有效期约定为30 天,用于换取ssoTicket | 必须 | r5ysOPTCBLU1 |
operatingSysVersion | 请求方User- Agent | 必须 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212Safari/537.36 |
device_ip | 终端设备ip | 必须 | 192.168.1.1 |
device_fingerprint | 终端设备指纹(能够唯一识别终端设备) | 必须 | qaws12fr45mjy7 |
# 请求示例
{
"sessionToken": "NPb1iZc11TKmgiefSYWrFnvT2DBhFPIX",
"operatingSysVersion": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
"device_ip": "121.60.119.225",
"device_fingerprint": "156aysdna213sc"
}
1
2
3
4
5
6
2
3
4
5
6
# 返回参数
属性名 | 子属性 | 参数说明 |
---|---|---|
code | 返回码 成功:0 | |
message | 返回信息【失败时,会记录失败原因】 | |
data | expire | ssoTicket 失效剩余时间 单位为 秒 |
ssoTicket | ssoTicket【用于app内小程序sso时获取用户信息】 |
# 返回示例
{
"code": "0",
"message": "success",
"data": {
"expire": 299,
"ssoTicket": "ssoTicket-p2WBMUCXaOGSQDzzMPYdqLvKvZcAe0yC"
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 校验ssoTicket接口
参数 | 接口url |
---|---|
请求url | /api/oap/v1/sso/session_ticket-validate |
请求方式 | POST |
# 请求参数
参数名 | 中文名称 | 是否必须 | 示例值 |
---|---|---|---|
ssoTicket | sso票据, 有效期为300秒 | 必须 | ssoTicket-p2WBM |
operatingSysVersion | 请求方User- Agent | 必须 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 |
device_ip | 终端设备ip | 必须 | 192.168.1.1 |
device_fingerprint | 终端设备指纹(能够唯一识别终端设备) | 必须 | qaws12fr45mjy7 |
# 请求示例
{
"ssoTicket": "ssoTicket-7Ddh7KhsBKBgPuN82IVHZVDc6DPm8Jxh",
"operatingSysVersion": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
"device_ip": "121.60.119.225",
"device_fingerprint": "156aysdna213sc"
}
1
2
3
4
5
6
2
3
4
5
6
# 返回参数
属性名 | 子属性 | 参数说明 |
---|---|---|
code | 返回码 成功:0 | |
message | 返回信息【失败时,会记录失败原因】 | |
data | userInfo | 用户信息 |
# 返回示例
{
"code": "0",
"message": "success",
"data": {
"userInfo": {
"id": "20201119181527383-7B3B-0571E338A",
"name": "lx4321",
"userName": "lx4321",
"mobile": "15907154321",
"email": "1014321@qq.com",
"age": 18,
"gender": 0,
"nick_name": "lxx",
"head_url": "https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKLb4AJez",
"realStatus": "PERSONAL",
"join_date": "2020-11-19T10:15:27.000Z"
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 刷新sessionToken接口
参数 | 接口url |
---|---|
请求url | /api/oap/v1/sso/refreshSessionToken |
请求方式 | POST |
# 请求参数
参数名 | 中文名称 | 是否必须 | 示例值 |
---|---|---|---|
sessionToken | 原sessionToken, 用来换取新的sessionToken | 必须 | Mkkp1xSB4Wqj3 |
operatingSysVersion | 请求方User- Agent | 必须 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212Safari/537.36 |
device_ip | 终端设备ip | 必须 | 192.168.1.1 |
device_fingerprint | 终端设备指纹(能够唯一识别终端设备) | 必须 | qaws12fr45mjy7 |
# 请求示例
{
"sessionToken": "Yst40OUIo7zghBH3pFEniuSINGbLHzU3",
"operatingSysVersion": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 90.0 .4430 .212 Safari / 537.36 ",
"device_ip ": "121.60 .119 .225 ",
"device_fingerprint": "156aysdna213sc"
}
1
2
3
4
5
6
2
3
4
5
6
# 返回参数
属性名 | 子属性 | 参数说明 |
---|---|---|
code | 返回码 成功:0 | |
message | 返回信息【失败时,会记录失败原因】 | |
data | sessionToken | 会话令牌 |
# 返回示例
{
"code": "0",
"message": "success",
"data": {
"sessionToken": "lqIprZxbyUelLbn5Yos33o8TeVnoZJFH"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 登录保持
sessionToken的过期时间是可设置的(参考Access Token有效期配置),如果需要保持登录,建议APP服务端自行做刷新同步处理。
建议在sessionToken即将过期的前一天或者前三天进行刷新调用,从而保证sessionToken永远都是可用状态。
以上只是建议,调用方也可根据自己的实际业务应用场景进行设定刷新时间。