identity.login() 非正式提议
本页不是正式 API 规范;它记录待可信 UI 与 appId 绑定单次 nonce 验证的候选契约。
在可信用户操作中打开平台登录流程。guest 不传 provider、return URL 或自由字符串,也不接收 token。
Syntax
const result = await host.identity.login(options?);
Parameters
options?: CallOptions:可选取消信号;guest 不得传 provider、return URL 或其他业务载荷。
Return value
{ authenticated: true } | null。调用线性化时本 appId 已登录则直接返回前者而不打开 UI;否则登录完成返回前者,用户关闭可信 UI 返回 null。取消信号以 cancelled 失败,不与用户取消混用。
Examples
loginButton.onclick = async () => {
const result = await host.identity.login();
if (result) renderAccountControls(result.authenticated);
};
Errors
activation-required、denied、flow-expired、platform-unavailable。用户关闭可信 UI 是正常取消。
取消与应用会话提交必须线性排序:取消先发生则以 cancelled 失败且不得建立应用会话;提交先发生则返回 { authenticated: true },后到的取消不改变结果。
Security
回跳使用壳层单次 nonce 或固定位置;不能把 guest 路由、查询串或整个 location 编码进登录 URL。
Requirements
- 能力:
host:identity.login - 可信用户激活:必须;仅改变状态时打开平台 UI
- 可取消:是;取消不返回部分身份状态
- 信任档位:green