安全验证
当已认证 (Authentication) 用户尝试执行敏感或高风险操作时——例如更改密码、进行支付,或访问工资单、银行账户等敏感信息——就需要额外的安全措施。这一流程在银行、医疗和政府服务等敏感应用中尤为关键。
这个过程被称为安全验证,要求用户重新验证其身份,以确认他们是被授权的账户持有者。通过实施安全验证,系统能够加强对未授权访问的防护,为高风险操作增加关键的安全层,有助于保护敏感数据。
应用和 API 推荐使用 OIDC step-up 认证 (Authentication):
要为你自己的应用和受保护的 API 资源强制执行最近的认证 (Authentication) 或多因素认证 (MFA),或使用标准令牌授权敏感的 Account API 调用,请使用 OIDC step-up 认证 (Authentication)(acr_values、max_age 和 RFC 9470 挑战)。
当你的第一方应用直接调用 Account API 并携带 logto-verification-id 头,或在绑定新邮箱或手机号前需要证明其归属时,请使用下方的 Verification API。
通过 Account API 实现安全验证
备注:
请先启用 Account API,并获取用户的 access_token。
密码验证
当用户通过直接集成 Account API 尝试更改密码或其他安全设置时,提示他们输入当前密码,以获取 10 分钟有效的 verificationRecordId,用于 logto-verification-id 头。
| method | path | description |
|---|---|---|
| POST | /api/verifications/password | 验证当前用户密码。 |
邮箱 / 短信一次性验证码验证
向用户的邮箱或手机号发送验证码,并提示他们输入验证码以确认身份。这些接口可用于验证用户身份,或确认特定邮箱或手机号的归属权。当用户尝试将新邮箱或手机号绑定到账户时,强烈建议进行此验证步骤,以确保所提供信息的真实性。
| method | path | description |
|---|---|---|
| POST | /api/verifications/verification-code | 发送邮箱或手机号验证码。 |
| POST | /api/verifications/verification-code/verify | 通过验证码验证邮箱或手机号。 |