TARGETF4B2 PARTIALQA 0/5 VERIFIEDR01 · 2/21 PASS COMPLETEWeb · 等待邮箱或手机验证码的用户

OTP 验证

验证码的发送、倒计时、重发、错误、过期与限流都在同一状态机内

/identity/verifyplatform-identity
R01 · KNIFE 2 / 21

OTP 验证 · 页面级细化任务包

完成一个有次数、期限、重发和可恢复错误边界的六位验证码挑战。

ENTRY

仅接受 Sign-in 返回的 challenge_id;页面不从 URL 或本地存储推断真实验证码。

SUCCESS RECEIPT

服务端验证成功后持久化 session,再返回有界 access/refresh token 与 session receipt。

AUTHORIZATION

每 client/kind/subject 5 次/10 分钟;单 challenge 最多 5 次失败;生产无 fixed code。

RESPONSIVE + A11Y

六格输入在 320–390px 保持 44px 触控;支持粘贴、自动填充、退格回退和屏幕阅读器单字段语义。

TELEMETRY

otp_view · otp_submit · otp_resend · otp_locked;只记录 challenge_id 哈希和错误类别。

CURRENT TRUTHpartial-current
  • challenge create/verify
  • 600s TTL
  • 创建限流与五次失败锁定
IMPLEMENTATION GAPNOT PRODUCT UI
  • 持久化/多实例 challenge
  • 真实 OTP E2E artifact
  • 重发/倒计时/a11y UI fixture
Next gate · Redis atomic store + consumer state matrix
63-STATE PROGRAM / THIS SCREEN

九态改变真实区域,而不是盖一张共用提示卡

QA 0 / 5 VERIFIED
READY等待 6 位验证码

验证码输入

AUTH-OTP-READY→ 验证并继续
LOADING正在读取挑战状态

Challenge + RateLimit

AUTH-OTP-LOAD→ 返回登录
EMPTY还没有输入验证码

验证码字段

AUTH-OTP-EMPTY→ 输入验证码
PARTIAL ERROR暂时不能重新发送

重发控制

AUTH-OTP-RESEND-PARTIAL→ 继续验证
ERROR验证码验证服务不可用

OtpVerification

AUTH-OTP-503→ 重新验证
OFFLINE连接中断,挑战状态未知

Challenge freshness

AUTH-OTP-OFFLINE→ 重新连接
FORBIDDEN验证尝试已被锁定

RateLimit

AUTH-OTP-LOCKED→ 重新开始登录
CONFIRM发送新的验证码?

重发确认

AUTH-OTP-RESEND-CONFIRM→ 确认重新发送
SUCCESS邮箱身份已验证

Session issue receipt

AUTH-OTP-VERIFIED→ 继续安全流程
SAFE DELIVERY BOUNDARY本刀只细化 developer.reits.tech 的目标 UI、交互与 QA 合同;不触发生产 OTP,不修改 Auth secret,不执行 K21 Phase B。
UI STUDIOplatform-auth-otp
Web1440 × 900100%
100%
/identity/verify
TARGET UI1440 × 900FIT 100%
RREITS IDIDENTITY FABRIC
VERIFY YOUR IDENTITY

输入 6 位验证码

验证码已发送至 de•••••@company.com,有效期 10 分钟。

02 / 04
48271_
浏览器可自动填充或直接粘贴完整验证码08:42
58 秒后可重新发送
R01 DESIGN CANDIDATE · platform-auth-otp · NOT PRODUCT UI
REFERENCE VIEWPORT1440 × 900Desktop first · responsive
PRIMARY TASK验证并继续主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTOtpChallengeready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-17桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 流程进度
  • 验证目标
  • 验证码输入
  • 重发与修改
  • 状态反馈
02

用户动作

  • 验证并继续
  • 重新发送
  • 更换账号
  • 返回登录
03

必须状态

  • 等待验证码输入
  • Challenge 加载
  • 验证码尚未输入
  • 重发能力部分不可用
  • 验证服务失败
  • 离线且 Challenge 已 stale
  • 发送或验证受限
  • 更换账号或重发确认
  • 验证成功
04

数据契约

  • OtpChallenge
  • OtpVerification
  • RateLimit
  • ReturnContext

TARGET MODULES

目标页面必须交付的模块

  1. 01验证目标遮罩
  2. 02六位验证码
  3. 03倒计时与重发
  4. 04更换账号
  5. 05安全与可访问性提示

PRODUCT ROUTE INDEX

身份与会话 的 7 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
统一登录选择/identity/sign-in
Web
02
OTP 验证/identity/verify
Web
03
强认证/identity/mfa
Web
04
设备与会话/identity/sessions
Web
05
Scope 与授权确认/identity/consent
Web
06
账号恢复/identity/recovery
Web
07
无权限与受限资源/identity/forbidden
Web