Skip to content

APP服务端开发

获取API访问凭证接口

说明示例
请求urlhttps://{domain}/api/oap/oauth/token
请求方式POST

请求参数

参数说明
grant_type固定值client_credentials,OAuth的客户端模式
client_idAPI提供者分配的client_id
client_secretAPI提供者分配的client_secret

请求示例

json
{
    "grant_type": "client_credentials",
    "client_id": "ZUSQzclVGYF",
    "client_secret": "fnH5one7AmxPbl6ky6VHuFBNYQ88vAdvu0"
}
```xml

### 返回参数

<span style="display:inline-block;width:80px">参数</span>	|<span style="display:inline-block;width:200px">填写参考</span>
:---|:---
access_token	|访问凭证
token_type	|token类型
expires_in|	有效时间
scope	|OAuth 2.0 的作用域
id_token	|JWT格式的权限信息

### 返回示例

```json
{
    "access_token": "f7a815eb-c546-4052-b099-b554de1436c7",
    "token_type": "bearer",
    "expires_in": 764,
    "scope": "all",
    "id_token": "eyJraWQiOiJrMSIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJJc3N1ZXIiLC"
}

换取ssoTicket接口

参数接口url
请求url/api/oap/v1/SSO/session_ticket
请求方式POST

请求参数

参数名中文名称是否必须示例值
sessionTokensessionToken有效期约定为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

请求示例

json
{
    "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"
}
```xml

### 返回参数

<span style="display:inline-block;width:80px">属性名</span>| <span style="display:inline-block;width:80px">子属性</span> | <span style="display:inline-block;width:200px">参数说明</span>
:---|:---|:---
code	||	返回码 成功:0
message	||	返回信息【失败时,会记录失败原因】
data|	expire|	ssoTicket 失效剩余时间 单位为 秒
|ssoTicket	|ssoTicket【用于app内小程序SSO时获取用户信息】

### 返回示例

```json
{
    "code": "0",
    "message": "success",
    "data": {
        "expire": 299,
        "ssoTicket": "ssoTicket-p2WBMUCXaOGSQDzzMPYdqLvKvZcAe0yC"
    }
}

校验ssoTicket接口

参数接口url
请求url/api/oap/v1/SSO/session_ticket-validate
请求方式POST

请求参数

参数名中文名称是否必须示例值
ssoTicketSSO票据, 有效期为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

请求示例

json
{
    "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"
}
```xml
### 返回参数

<span style="display:inline-block;width:80px">属性名</span>	|<span style="display:inline-block;width:80px">子属性</span>| <span style="display:inline-block;width:200px">参数说明</span>
:---|:---|:---
code|	|	返回码 成功:0
message	|	|返回信息【失败时,会记录失败原因】
data|	userInfo|	用户信息

#### 返回示例

```json
{
	"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"
		}
	}
}

刷新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

请求示例

json
{
	"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"
}
```xml
### 返回参数

<span style="display:inline-block;width:80px">属性名</span>	|<span style="display:inline-block;width:80px">子属性</span>| <span style="display:inline-block;width:200px">参数说明</span>
:---|:---|:---
code	||	返回码 成功:0
message	||	返回信息【失败时,会记录失败原因】
data	|sessionToken	|会话令牌

### 返回示例

```json
{
	"code": "0",
	"message": "success",
	"data": {
		"sessionToken": "lqIprZxbyUelLbn5Yos33o8TeVnoZJFH"
	}
}

登录保持

sessionToken的过期时间是可设置的(参考Access Token有效期配置),如果需要保持登录,建议APP服务端自行做刷新同步处理。

建议在sessionToken即将过期的前一天或者前三天进行刷新调用,从而保证sessionToken永远都是可用状态。

以上只是建议,调用方也可根据自己的实际业务应用场景进行设定刷新时间。

竹云IDaaS开放平台