Skip to content

API授权

授权说明

授权模式

使用凭证式(client credentials)授权模式。

授权模式流程说明

第一步,A 应用在命令行向 B 发出请求。 第二步,B 网站验证通过以后,直接返回令牌。

授权模式结构说明

接口说明

获取access_token

获取access_token。开发者需要缓存access_token,用于后续接口的调用。当access_token失效或过期时,需要重新获取。

请求URL

http
GET /api/oauth2/server/tokens?grant_type=client_credentials&client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET} HTTP/1.1
Accept: application/json
URL 参数
字段类型是否必须描述
grant_typeSTRING授权类型,固定值 :client_credentials。表示采用凭证式
client_idSTRING客户端id
client_secretSTRING客户端secret

返回对象的格式说明

字段类型说明
access_tokenSTRINGaccess_token
token_typeSTRING固定值 "bearer"
expires_inSTRING有效时间,单位为秒,默认为12小时
scopeSTRING授权作用域,目前只支持 "sodu"

校验access_token

校验access_token

请求URL

http
GET /api/oauth2/server/tokens/check?token=${ACCESS_TOKEN} HTTP/1.1
URL 参数
字段类型是否必须描述
tokenSTRING需较验的 access_token

返回对象的格式说明

字段类型说明
access_tokenSTRINGaccess_token
token_typeSTRING固定值 "bearer"
expires_inSTRING有效时间,单位为秒
scopeSTRING授权作用域,目前只支持 "sodu"

撤销access_token

撤销access_token

请求URL

http
GET /api/oauth2/server/tokens/revoke?token=${ACCESS_TOKEN} HTTP/1.1
URL 参数
字段类型是否必须描述
tokenSTRING待撤销的 access_token

返回对象的格式说明

字段类型说明
codeINTEGER0 为成功,其它值为失败
msgSTRING操作结果

access_token及sudo说明

access_token

在Header中携带

http
GET /api/{URI} HTTP/1.1
Authorization:Bearer ${ACCESS_TOKEN}

拼接在url中作为Query String Parameter的一部分

http
GET /api/{URI}?access_token=${ACCESS_TOKEN} HTTP/1.1

sudo

设置sudo

sudo拼接在url中作为requestParam,sudo支持通过用户的id、loginName(登录名)、email(邮箱)、mobile(手机)传递用户身份。 以下四种sudo格式为:

  1. sudo=uid:${UID}
  2. sudo=loginName:${LOGIN_NAME}
  3. sudo=email:${EMAIL}
  4. sudo=mobile:${MOBILE}

注意

sudo=username:${LOGIN_NAME} (不推荐使用)

http
GET /api/{URI}?access_token=${ACCESS_TOKEN}&sudo=uid:${UID} HTTP/1.1

设置租户

如果想使用sudo 功能,操作租户的数据,则要传递 tenantId 或者 tenantCode

http
GET /api/{URI}?access_token=${ACCESS_TOKEN}&sudo=uid:${UID}&tenantId=${tenantId} HTTP/1.1

http
GET /api/{URI}?access_token=${ACCESS_TOKEN}&sudo=uid:${UID}&tenantCode=${tenantCode} HTTP/1.1

HENGSHI SENSE API 使用手册