目录

智能体如何获取华为账号手机号

问题现象

智能体绑定了华为账号,如何通过华为账号获取到用户的手机号?

背景知识

解决方案

  1. 在华为开发者联盟账号服务获取一个appId,并将appId在华为开发者联盟小艺开放平台智能体开发页面注册保存。
  2. 小艺APP在加载三方智能体页面时会从小艺开放平台获取到智能体的appId。
  3. 在使用三方智能体时,可以在智能体内点击账号授权,发起账号授权流程:
    • 首先,三方智能体服务器携带授权码向华为账号服务器获取用户Access Token,华为账号服务器返回用户Access Token给三方智能体服务器。
    • 然后,三方智能体服务器使用用户Access Token向华为账号服务器获取用户信息,华为账号服务器返回用户信息给三方智能体服务器。
    • 最后,解析出手机号。

    如果用户已经授权过,则静默发起授权流程到三方智能体服务器,三方智能体服务器返回新的账号登录会话标识符agentLoginSessionId;如果用户未授权过,则给用户弹框获取用户授权,三方智能体服务器基于华为账号分配的授权码获取用户手机号,然后返回新的agentLoginSessionId。

  4. 小艺APP保存该智能体的agentLoginSessionId,后续用户给该智能体发消息时携带该字段给三方智能体服务器。
  5. 小艺APP会在agentLoginSessionId超期失效或不存在时重新发起账号授权流程,从三方智能体服务器申请新的agentLoginSessionId。

华为账号信息获取参考获取华为账号用户信息。