跳到主要内容

第三方应用

此功能的使用场景是将 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": "9h9kapao1g4naz4o288z1i0u0cac3yd79z7c849z51870q9y7qdq5d8obt8fef3g",
"expires_in": "604800",
"refresh_token": "00b100b5001400e6009400cb003f008c009a006c00ee00b200dd00f200ea002d",
"success": true
}

4. 获取当前账户信息

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

请求结果(核心字段):

{
"data": {
"user_id": "string", // 用户Id,相同账号在不同组织内不一样
"full_name": "string", // 姓名
"account_id": "string", // 账号Id,相同账号在不同组织内一样
"project_id": "string", // 组织Id
"email": "string", // 邮箱
"mobile_phone": "string", // 手机号
"department": "string", // 部门
"job": "string", // 职位
"job_number": "string", // 工号
"work_site": "string", // 工作地点
"contact_phone": "string", // 工作电话
},
"success": true,
"error_code": 1
}