25 Commits
Author SHA1 Message Date
LeoVasanko 7504aaf7e0 Move imports to top of file. 2026-01-27 20:16:32 +00:00
LeoVasanko 5ee7443801 Use fastapi-vue-setup, merging its template scripts to old Paskia entry point and devserver. Simplified CLI, no longer uses serve subcommand. Fixed the URL displayed on banner to show to actual frontend/caddy server even in devmode. 2026-01-25 03:15:50 +00:00
LeoVasanko 2c6a5c72d9 Updated database to use async background worker, making changes lock-free synchronous ops. 2026-01-23 15:57:16 +00:00
LeoVasanko 7f3763b46d Replace SQL database with JSONL based solution that keeps history. 2026-01-23 00:54:37 +00:00
LeoVasanko 2795b1061f Info fields for PyPI 2025-12-18 14:13:05 +00:00
LeoVasanko 1bed2c39d8 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
LeoVasanko 83419d1845 API tests added with near-complete coverage over user and admin APIs. 60% overall backend. (not including E2E test in coverage) 2025-12-06 04:45:26 +00:00
LeoVasanko df5c176bcd Fixed and updated E2E test suite. Added user credential registration tests. Coverage for backend and frontend. 2025-12-06 00:52:35 +00:00
LeoVasanko c1204ca020 Updated documentation. 2025-12-05 16:15:50 +00:00
LeoVasanko 208115ebc3 Project renamed to Paskia. 2025-12-05 13:17:52 +00:00
LeoVasanko 0af7aad28c Add host-based authentication, UTC timestamps, session management, and secure cookies; fix styling issues; refactor to remove module; update database schema for sessions and reset tokens. 2025-10-04 06:31:54 +00:00
LeoVasanko 24692fcfec Use git tag versioning for the Python project. 2025-10-03 04:07:11 +00:00
LeoVasanko 095768e07c Version 0.2.0 2025-10-01 05:04:53 +00:00
LeoVasanko 48f718191f Version 0.1.2 2025-09-29 07:46:49 +00:00
LeoVasanko 2df444b80f chore: bump version to 0.1.1 2025-09-28 08:51:46 +00:00
LeoVasanko ec098b862c Implement credential reset via CLI. 2025-09-27 05:18:33 +00:00
LeoVasanko 53f1745ebd Utility module for accessing frontend in backend code. 2025-09-03 04:05:20 +00:00
LeoVasanko 982937572a New lint option path in pyproject 2025-09-03 03:03:02 +00:00
LeoVasanko a4101e708a Separated session management from its FastAPI-dependent parts, creating authsession.py on main level.
Startup/main/scripts cleanup, now runs with passkey-auth command that takes CLI arguments.
2025-08-05 21:02:49 +00:00
LeoVasanko 4b20a53aa2 A lot of cleanup, restructuring project directory. 2025-07-14 23:54:04 +00:00
LeoVasanko e7192e078e Build frontend as part of Python build 2025-07-14 02:23:07 +00:00
LeoVasanko b358afdfbb More refactoring. Prevent registering another key on the same authenticator for the same user. 2025-07-07 23:20:28 +00:00
LeoVasanko 304b6b8cef Major refactor: HTTP-only cookies, passkey management, and UI improvements
- Refactor session management from WebSocket tokens to HTTP-only cookies
- Move user/credential endpoints from WebSocket to HTTP REST API
- Add comprehensive passkey management (add/delete with safety checks)
- Implement AAGUID-based authenticator info with icons and names
- Add human-readable date formatting and clean grid layout
- Create modular architecture with session_manager, api_handlers, aaguid_manager
2025-07-07 07:45:33 +00:00
LeoVasanko 3f373a9a8a Refactoring done, bugs gone. 2025-07-04 06:46:05 +00:00
LeoVasanko a6e80ffcb5 A non-functional draft, saving to allow reverts. 2025-07-04 05:01:41 +00:00