Files
bincio-activity/site
Davide Scaini 13643479ef add password reset via admin-generated one-time code
db.py: reset_codes table (code, handle, created_by, created_at,
expires_at, used_at); create_reset_code() invalidates any prior unused
code for the same handle; use_reset_code() validates handle match,
expiry (24 h), and single-use; change_password() updates the hash.

server.py: POST /api/admin/users/{handle}/reset-password-code (admin)
returns a code; POST /api/auth/reset-password (public) validates the
code + handle and sets the new password.

Admin page: "Reset pwd" button per user — shows the code inline on
click (monospace, click-to-copy).
/reset-password/ page: handle + code + new password form.
Login page: "Forgot password?" link.
2026-04-14 21:58:50 +02:00
..
2026-03-30 13:30:43 +02:00
2026-04-11 08:33:21 +02:00
2026-04-06 19:31:52 +02:00
2026-04-06 19:31:52 +02:00
2026-04-11 10:56:16 +02:00
2026-03-28 13:59:36 +01:00
2026-03-28 13:59:36 +01:00