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