统一流程
XID 不暴露独立的终端用户注册和登录产品。Hosted Auth 从同一个标识步骤开始,再根据组织策略和账号状态决定登录或创建用户。
初始化默认只启用邮件登录链接和邮箱验证码。密码、WhatsApp 验证码、短信验证码、通行密钥、社交 OAuth 和企业 SSO 会保持隐藏,直到组织策略和必要凭据启用它们。
flowchart TD Browser --> authorize["/authorize"] authorize --> signIn["/sign-in"] signIn --> config["/auth/config"] config --> methods["WebAuthn / Password / OTP / SSO"] methods --> code["code"] methods --> mfa["/auth/mfa/passkey/*"] mfa --> code
配置端点
GET /auth/config 返回该组织的公开 Hosted Auth 配置。提供商机密和已禁用的提供商不会返回给浏览器。
| 方式 | 显示时机 |
|---|---|
| 登录链接 | 已启用,并允许用于登录或创建用户。 |
| 邮箱验证码 | 已启用,并允许用于登录或创建用户。 |
| 手机验证码 | WhatsApp 或短信提供商已配置、已启用,且允许登录或创建用户。 |
| 密码 | 密码策略会启用登录或用户创建。 |
| 社交 OAuth | 提供商已启用、凭据已存在,并且策略允许此操作。 |
| 入站企业 SSO | 域名发现会匹配已验证的组织域名。 |
标识符策略
- 组织可以要求邮箱标识、用户名标识或两者都要求。
- 允许和阻止的邮箱域名列表会在创建用户前生效。
- 需要企业连接时,强制 SSO 会隐藏本地登录方式。
WebAuthn 和 passkey 边界
- 通行密钥登录是主要 AAL2 认证。密码或 OTP 会话可通过
/auth/mfa/passkey/*完成 MFA,且需要用户验证。 - 组织策略
attestationMode在通行密钥注册时选择无、间接或直接企业证明。 - WebAuthn 凭证参数公布 ES256、RS256 和 EdDSA。可同步通行密钥在 MFA 后仍属于 AAL2。
- 仅当通行密钥 MFA 满足硬件单设备、非备份保证时才会签发
urn:xid:aal3。可同步通行密钥不符合 AAL3。