LeoVasanko
70c682b539
Improved client IP and UA handling.
2026-02-05 17:33:08 +00:00
LeoVasanko
7329223784
Implement full ORM. Various other cleanup.
2026-01-28 17:19:56 +00:00
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