跳到主要内容

第三方应用

此功能的使用场景是将 HAP 作为身份认证中心,创建的第三方应用作为从 HAP 进入外部应用的入口,整个认证过程基于 OAuth 2.0 协议。

1. 创建应用

组织管理集成第三方应用 创建应用(可在工作台左下角进入查看已创建的应用列表

2. 获取请求验证码

请求示例(GET):
{HAP 访问地址}/api/oauth2/authorize?app_key=441139F6ADFA&redirect_uri=http://www.baidu.com&projectid=f0dc6a74-854a-46cb-ab8c-909b7846d34c

请求参数:

  • app_key:应用 App Key
  • redirect_uri:应用回调地址(这里我们以百度为例)
  • projectid: HAP 组织 Id

3. 获取访问令牌

请求参数:

  • app_key:应用 App Key
  • app_secret:应用 App Secret
  • grant_type:固定 authorization_code
  • code:上一步获取的请求验证码
  • redirect_uri:应用回调地址
  • format:json (默认返回 XML 格式)

请求示例(GET):
{HAP 访问地址}/api/oauth2/access_token?app_key=441139F6ADFA&app_secret=6188275EF965388891B3618BD9398A&grant_type=authorization_code&code=f8a6f0ffb8d249499f4e7c332d2446c4&redirect_uri=http://www.baidu.com&format=json

请求结果:

{
"access_token": "9h9kapa********",
"expires_in": "604800",
"refresh_token": "00b100b5********",
"success": true
}

4. 获取当前账户信息

请求示例(GET):
{HAP 访问地址}/api/v1/passport/get_passport_detail?access_token=9h9kapa********

请求结果(核心字段):

{
"data": {
"user_id": "string",
"full_name": "string",
"account_id": "string",
"project_id": "string",
"email": "string",
"mobile_phone": "string",
"department": "string",
"job": "string",
"job_number": "string",
"work_site": "string",
"contact_phone": "string"
},
"success": true,
"error_code": 1
}

字段说明:

字段含义
user_id用户 ID,相同账号在不同组织内不一样
full_name姓名
account_id账号 ID,相同账号在不同组织内一样
project_id组织 ID
email邮箱
mobile_phone手机号
department部门
job职位
job_number工号
work_site工作地点
contact_phone工作电话