项目授权模式
项目授权模式主要适用于B端行业项目,私有化服务,如公寓酒店、办公楼宇、学校、会议室等项目数字化改造或智能化升级。
- 项目:指通过物联行业平台创建的项目,用户可以通过提供的入网实施工具进行设备相关入网绑定到该项目。
授权流程时序图如下所示。
步骤1 获取授权验证码
- 注册并登录Aqara物联行业平台;
- 创建项目,选择需要授权的项目-进入拓展服务页面;
- 在获取开放平台权限页面,获取授权验证码authCode,授权码有效期为10分钟,请在有效期内生成访问令牌accessToken。
步骤2 通过授权验证码authCode获取访问令牌accessToken
- 接口intent:config.auth.getToken
- 接口描述:在授权码Code过期前,通过此接口将授权码换取访问令牌accessToken,访问令牌的默认有效期为7天,可以通过“config.auth.getAuthCode”接口自定义有效期时长。
- 请求参数:
名称 |
类型 |
是否必须 |
描述 |
authCode |
String |
是 |
上一步请求获取的authCode |
accountType |
Integer |
是 |
账号类型,1-项目 |
{
"intent": "config.auth.getToken",
"data": {
"authCode": "xxxx",
"accountType": 1
}
}
名称 |
类型 |
描述 |
expiresIn |
String |
accessToken过期时间,单位秒 |
openId |
String |
用户唯一id |
accessToken |
String |
访问令牌 |
refreshToken |
String |
访问刷新令牌,refreshToken时长默认为accessToken有期限+30天 |
{
"code": 0,
"requestId": "",
"message": "Success",
"msgDetails": null,
"result": {
"expiresIn": "86400",
"openId": "593652793976837702248177061889",
"accessToken": "b8001e1893f5e4316a4f8c3b47df3720",
"refreshToken": "ddd9dc7e9ec7b772e852121ed2fe75aa"
}
}
步骤3 通过refreshToken刷新访问令牌,获取新的accessToken和refreshToken
- 接口intent:config.auth.refreshToken
- 接口描述:在accessToken过期前,通过此接口用refreshToken刷新访问令牌accessToken,refreshToken时长默认为accessToken有期限+30天。
- 请求参数:
名称 |
类型 |
是否必须 |
描述 |
refreshToken |
String |
是 |
访问刷新令牌 |
{
"intent": "config.auth.refreshToken",
"data": {
"refreshToken": "xxxx"
}
}
名称 |
类型 |
描述 |
expiresIn |
String |
accessToken过期时间,单位秒 |
openId |
String |
用户唯一id |
accessToken |
String |
新的访问令牌 |
refreshToken |
String |
新的访问刷新令牌 |
{
"code": 0,
"requestId": "",
"message": "Success",
"msgDetails": null,
"result": {
"expiresIn": "86400",
"openId": "593652793976837702248177061889",
"accessToken": "b8001e1893f5e4316a4f8c3b47df3720",
"refreshToken": "ddd9dc7e9ec7b772e852121ed2fe75aa"
}
}