第三方应用
此功能 的使用场景是将 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", // 用户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
}