Host 确认撤销后 resolve undefined;不会返回被撤销的身份、scope 或清理结果。
HbMiniProgramSDKError USER_GESTURE_REQUIRED 表示调用不在按钮点击、确认
等可信用户操作中;校验发生在网络 I/O 之前。
HbMiniProgramSDKError HEYBOX_APP_LOGIN_REQUIRED 表示当前 Host 没有已登录的
小黑盒账号;该方法不会主动拉起登录流程。
HbMiniProgramSDKError INVALID_STATE 表示缺少 canonical 小程序身份;
METHOD_FORBIDDEN 表示当前 Host 缺少该能力依赖;通过底层协议传入任何 payload 时返回
INVALID_PARAMS。
HbMiniProgramSDKError REQUEST_UNSUPPORTED / REQUEST_FAILED /
INVALID_RESPONSE 表示 Host 请求能力、撤销请求或响应失败;AUTHORIZATION_CONTEXT_CHANGED
表示请求期间切换了账号或授权上下文已变化。
HbMiniProgramSDKError RATE_LIMITED 表示上游返回 403/429,或该 endpoint 处于
Runtime 熔断窗口;error.data.retryAfterMs(可能缺失)给出建议退避时长。
HbMiniProgramSDKError RATE_LIMITED_BY_RUNTIME 表示 Runtime 本地拒绝(每 session
配额或同 endpoint 循环检测),请求没有到达上游;error.data.origin 为 'budget' 或 'loop'。
两种情况调用方都应停止立即重试。
HbMiniProgramSDKError RUNTIME_DESTROYED / SDK_DESTROYED 表示 Runtime 或 SDK
已终止。SDK 握手失败或超过调用超时时间时,还会返回对应握手错误码或 REQUEST_TIMEOUT。
该方法没有参数。页面不能传入小程序 ID、黑盒用户 ID 或手势标记;Runtime 从受信 Host 启动上下文读取当前小程序和当前用户,并校验真实用户手势。
user.revokeAuthorization 位于无需声明白名单,不要求 userInfo、network 或其他
package.json#heybox.permissions 项,也不会修改 Manifest 声明或平台批准状态。它使用 Host
的受信请求撤销当前用户授予当前小程序的用户授权。
只有服务端确认成功且请求期间账号未变化时,Runtime 才清空缓存的隔离身份和授权 scope,
并通过 on 发布 user_info_authorization_change,payload 为
{ identity: 'denied', profile: 'denied' };启用 Steam 账号能力时还包含
steam_account: 'denied'。失败或过期的撤销结果不会发布该成功事件。
成功后必须立即停止使用旧 app_user_id 和资料,并由业务自行清理 localStorage、SDK
storage 中的业务值、cookie、数据库以及开发者服务端 session;SDK 不会代为删除这些
数据。随后调用 auth.login 会重新进入授权流程;随后调用
user.getInfo 会按当前规则重新读取或建立隔离身份,不能假定
新旧 app_user_id 相同。
撤销当前用户授予本小程序的授权;必须由可信用户操作触发。