-
Notifications
You must be signed in to change notification settings - Fork 0
Development
何家欢 edited this page Jun 20, 2026
·
2 revisions
jstu_passkey/app.py Flask、OAuth、统一 Passkey 验证
jstu_passkey/management.py 管理页面与 API
jstu_passkey/config.py 环境变量与默认值
jstu_passkey/storage.py SQLite、用户、凭据、client、日志
jstu_passkey/webauthn_service.py WebAuthn options 与验证
jstu_passkey/static/ 浏览器交互
jstu_passkey/templates/ 品牌页、Management、示例页
tests/ 单元与集成行为
- 新的浏览器认证入口必须复用标准 Logo 页,不要再次复制
navigator.credentials.get() - OAuth 示例与生产 Client 使用同一管道
- Management 写操作继续要求 admin、CSRF 和 recent Passkey
- 数据库 v2 不增加旧 schema 自动迁移
- 用户界面统一使用
Passkey文案 - 用户取消是普通动作,不展示原始浏览器异常
- 代码行为变化时同步 README、
docs/与 Wiki
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q jstu_passkey tests
node --check jstu_passkey/static/main.js
node --check jstu_passkey/static/management.js
node --check jstu_passkey/static/oauth_authorize.js
git diff --check如果 .venv 没有 pytest,测试套件本身使用 unittest,不需要为了运行测试修改依赖。
重点检查 source-to-sink:
- 任意 URL 是否能进入 redirect
- client secret 是否可能到达浏览器
- state/code/challenge 是否可重放
- credential 是否可能绑定错误用户
- Management 是否存在绕过 recent reauth 的写入口
- 日志与 CSV 是否包含 secret、token、session 或 credential public key