M4-T05: add TOTP service and setup/enable/disable/status API
This commit is contained in:
@@ -199,7 +199,7 @@ Phase B(TOTP,可选配)
|
||||
- **Reviewer checklist**: 现有用户迁移后默认未启用 TOTP(不破坏现有登录)。
|
||||
|
||||
### M4-T05 — TOTP service + setup/enable/disable/status API
|
||||
- **Status**: `todo` · **Depends**: M4-T04
|
||||
- **Status**: `done` · **Depends**: M4-T04
|
||||
- **Files**: `create app/services/totp.py`、`app/schemas/totp.py`;`modify app/api/routes/api/session.py`(或新 `auth_totp.py` 路由)、`app/config.py`(+`auth_totp_issuer`);`modify requirements.in/.txt`(+`pyotp`);`create tests/test_api_totp.py`
|
||||
- **Steps**: pyotp 生成 secret + `otpauth://` URI(issuer=`auth_totp_issuer`);恢复码生成(N=10、`xxxx-xxxx`,Argon2 哈希存、明文仅 setup 返回一次);`setup`(pending,不启用)/`enable`(带当前码确认)/`disable`(带密码或当前码)/`GET status`;全部 session+CSRF。
|
||||
- **Out of scope / 不要碰**: 不改 login 校验(T06)。
|
||||
|
||||
Reference in New Issue
Block a user