Commit Graph
16 Commits
Author SHA1 Message Date
Leo Vasanko 310a4e9a87 Remove remaining DB getter functions, inline at call site and add ResetToken.by_passphrase(). 2026-02-10 22:48:31 +00:00
Leo Vasanko 21f3a713f6 Fix a bug with validate returning 401 when a session was refreshed. Simplify & cleanup. 2026-01-28 18:45:02 +00:00
Leo Vasanko b79f367495 Implement full ORM. Various other cleanup. 2026-01-28 17:19:56 +00:00
Leo Vasanko dcc89181b7 Move get_session_context to DB.session_ctx(). 2026-01-28 14:52:18 +00:00
Leo Vasanko dea62d799f Remove unnecessary use of async now that db access doesn't need awaiting. 2026-01-27 23:16:17 +00:00
Leo Vasanko d40a2b8682 DB transactions cleanup, better actor/user data. Simplified admin API. Use UUID to refer to a specific permission in admin API. Other cleanup. 2026-01-27 21:48:21 +00:00
Leo Vasanko e3b64ef537 Move imports to top of file. 2026-01-27 20:16:32 +00:00
Leo Vasanko 69a0aae78c Remove db.get_session. 2026-01-27 18:28:32 +00:00
Leo Vasanko 73e4d41f04 Refactor API to match database, no _uuid postfixes. 2026-01-27 02:32:46 +00:00
Leo Vasanko 3f5018918e Simplify session and reset token formats; removes the token utility functions entirely. 2026-01-23 21:01:45 +00:00
Leo Vasanko e93578f2e7 Fix actor fields and transactions for API operations as they are recorded to DB. 2026-01-23 20:19:33 +00:00
Leo Vasanko 291e0eae0b Replace session.renewed with .expiry for consistency with other expiring items. Fix migration script. 2026-01-23 01:39:59 +00:00
Leo Vasanko ab65f3dae2 Database cleanup: make it synchronous because we work with in-memory data. Defer writes to disk and cleanup to background task. Tests passing. 2026-01-23 01:22:47 +00:00
Leo Vasanko 887c0f92a2 Replace SQL database with JSONL based solution that keeps history. 2026-01-23 00:54:37 +00:00
LeoVasanko c605926c30 Implement code word based remote authentication (#1)
Add comprehensive remote authentication system allowing users to log in from one device by authenticating from another trusted device. Features include:

- Proof of Work (PoW) protection using PBKDF2-SHA512 to prevent abuse
- Simple pairing codes (3 words) protected by dynamic PoW difficulty
- Autocomplete pairing code input with error checking
- Real-time WebSocket communication between devices

Unlike device addition links and reset links with QR codes that only allow adding an authentication method, and that work offline over the duration of several days, this mechanism is strictly online, with 5 minute time limit.
2025-12-08 23:56:48 +00:00
Leo Vasanko 4b16037426 Project renamed to Paskia. 2025-12-05 13:24:34 +00:00