Add one-time password recovery flow

This commit is contained in:
Hamza Ayed
2026-10-03 13:57:12 +03:00
parent 9945e31e7c
commit ceae822302
9 changed files with 427 additions and 2 deletions
+9
View File
@@ -71,6 +71,15 @@ def initialize_database() -> None:
CREATE INDEX IF NOT EXISTS idx_auth_sessions_user
ON auth_sessions(user_id, expires_at);
CREATE TABLE IF NOT EXISTS password_reset_tokens (
token_hash TEXT PRIMARY KEY,
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
expires_at INTEGER NOT NULL,
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_password_reset_user
ON password_reset_tokens(user_id, expires_at);
CREATE TABLE IF NOT EXISTS auth_rate_limits (
scope TEXT NOT NULL,
fingerprint TEXT NOT NULL,