HarmonyOS鸿蒙Next中agentLoginSessionId失效感知

HarmonyOS鸿蒙Next中agentLoginSessionId失效感知 鸿蒙Agent通信协议使能应用智能体基于华为账号一键授权登录方案

关键技术点:

1)开发者需要在华为开发者联盟账号服务获取一个appId,并将appId在华为开发者联盟小艺开放平台智能体开发页面注册保存。

2)小艺APP在加载三方智能体页面时会从小艺开放平台获取到智能体的appId。

3)用户在使用三方智能体时,可以在智能体内点击账号授权,发起账号授权流程,如果用户已经授权过,则静默发起授权流程到三方智能体服务器,三方智能体服务器返回新的agentLoginSessionId,如果用户未授权过,则给用户弹框获取用户授权,三方智能体服务器基于华为账号分配的授权码获取用户手机号,然后返回新的agentLoginSessionId。

4)小艺APP保存该智能体的agentLoginSessionId,后续用户给该智能体发消息时携带该字段给三方智能体服务器。

5)小艺APP会在agentLoginSessionId超期失效或不存在时重新发起账号授权流程,从三方智能体服务器申请新的agentLoginSessionId。

这里文档所说的“小艺APP会在agentLoginSessionId超期失效或不存在时重新发起账号授权流程”,小艺APP是如何感知到agentLoginSessionId超期失效或不存在的呢?


更多关于HarmonyOS鸿蒙Next中agentLoginSessionId失效感知的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

加油,

更多关于HarmonyOS鸿蒙Next中agentLoginSessionId失效感知的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,agentLoginSessionId失效感知通常指分布式登录会话ID因超时、用户主动退出或设备断连而失效。系统会通过回调或事件通知应用会话状态变化,应用需监听相关事件并重新获取有效sessionId以维持业务连续性。

根据您对HarmonyOS Next中Agent通信协议登录流程的描述,agentLoginSessionId的失效感知机制主要依赖于服务端返回的特定HTTP状态码

具体来说,小艺APP并非主动“检测”会话是否失效,而是通过业务请求的响应来被动感知。其核心逻辑如下:

  1. 常态通信:在用户与会话有效期内,小艺APP向您的三方智能体服务器发送消息时,会在请求中携带当前存储的agentLoginSessionId

  2. 失效触发:当您的服务器判断该agentLoginSessionId已过期、无效或不存在时,应返回一个预定义的、特定的HTTP错误状态码(例如 401 Unauthorized 作为响应。

  3. 流程重启:小艺APP在收到此特定错误状态码后,会将其识别为会话失效的信号。随后,它会自动触发您文档中描述的重新授权流程,引导用户或静默向您的服务器申请一个新的agentLoginSessionId

关键点总结

  • 感知方:小艺APP。
  • 触发条件:收到来自三方智能体服务器的、标识会话失效的HTTP错误响应
  • 后续动作:自动重新发起授权流程以获取新的有效会话ID。

因此,确保您的三方服务器在会话无效时能正确返回约定的错误状态码,是整个流程能自动、无缝衔接的关键。具体的状态码定义,请以华为官方提供给您的Agent通信协议详细文档为准。

回到顶部