Commit Graph
40 Commits
Author SHA1 Message Date
LeoVasanko a7e6eb7341 Missing theme file. Added favicon. 2026-01-31 00:25:38 +00:00
LeoVasanko 7e49ef296a Create a stand-alone paskia npm package (paskia-js). Make the frontend use it (but from source tree to keep synced). 2026-01-29 19:46:26 +00:00
LeoVasanko 433844cf08 Refactor to separate paskia lib functionality generally useful for various apps. 2026-01-29 16:55:46 +00:00
LeoVasanko c9ea1c8948 Consistent and stronger session revalidation checks in Auth profile and Admin App. Fix missing handling of link generation network errors. 2026-01-29 16:02:29 +00:00
LeoVasanko 3a8e7d1f4f Remove credentials: 'include', a mechanism that we don't actually use. 2026-01-27 15:23:19 +00:00
LeoVasanko ca73febe2f Implement keyboard navigation using arrow keys in the whole application. (#2) 2025-12-10 15:43:40 +00:00
LeoVasanko a8269df0b4 Cleaner up registration link creation. Don't show the dialog until when there is a valid link. Implement a global blur backdrop with nicer effect and proper scrollbar handling (avoiding layout shifting a bit). Use the global backdrop to ensure consistent visuals between authentication and the modal being shown, along with in/out transitions. 2025-12-09 23:58:04 +00:00
LeoVasanko 8a21edf367 Process IPv6 display into short format including only the network prefix, and sharing the same code also for comparisons where needed. 2025-12-09 16:33:16 +00:00
LeoVasanko 03368b1b84 Rename base64 functions such that imports don't need renaming. 2025-12-09 15:55:03 +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 e102b8383b Admin app simplification by using API auth properly. Implemented promise to keep request blocked by permission check while the user authenticates, fixing concurrent requests. 2025-12-04 09:19:40 +00:00
LeoVasanko 29df169a67 Make restricted app use simple fetch that doesn't do API authentication (recursively). 2025-12-04 06:20:14 +00:00
LeoVasanko 4d4b290cc8 Revert earlier change to iframe srcdoc, using src instead, because srcdoc was not compatible with all passkey implementations (BitWarden). 2025-12-04 06:01:47 +00:00
LeoVasanko 0e1b9f529b Log authentication options on the client. 2025-12-04 05:07:44 +00:00
LeoVasanko 1782547b9e Fix infinitely nested login iframes when the restricted app notices it needs login. 2025-12-04 03:56:17 +00:00
LeoVasanko 9976e05696 Various fixes and cleanup, regressions from prior commits. 2025-12-04 03:40:59 +00:00
LeoVasanko b9b1c995f9 Update forward API to return in JSON iframe srcdoc with options injected. (currently broken in dev mode). 2025-12-04 01:58:18 +00:00
LeoVasanko 4482a601f3 Fix fetch timeout rolling while in authentication flow. Now each fetch gets a fresh timeout. 2025-12-04 01:35:44 +00:00
LeoVasanko 2ecf8433a1 Consistently use apiJson for fetches, with timeout and proper error handling (less code duplication). 2025-12-04 01:00:24 +00:00
LeoVasanko db892365dc Improved auth profile UX, consistent transparent-blur dialog background everywhere. 2025-12-04 00:29:42 +00:00
LeoVasanko 469d606ce5 Improved apiFetch and jsonFetch functions. 2025-12-03 23:26:38 +00:00
LeoVasanko 547a6cd923 Make auth/admin apps API calls use apiFetch, a new function that asks for permission by iframe if needed. Implement max-age checks for API authz.verify as well along with a custom exception type that carries metadata. 2025-12-03 23:17:02 +00:00
LeoVasanko 643d9bafab Fix the back buttons (navigate back if you can but close if it was a new window). 2025-12-02 18:02:02 +00:00
LeoVasanko 5422845192 Better error messages from backend, avoid bad toasts, cleanup of session validation. 2025-12-02 16:37:27 +00:00
LeoVasanko 01bc39a0e8 A major refactoring for more consistent and stricter flows.
- Force using the dedicated authentication site configured via auth-host
- Stricter host validation
- Using the restricted app consistently for all access control (instead of the old loginview).
2025-10-05 03:55:11 +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 cf4835ff83 Redux 2025-09-02 08:21:20 +00:00
LeoVasanko 01251a4769 Support WS connections on older browsers. 2025-09-02 08:15:14 +00:00
LeoVasanko e1e933c756 Renaming of users in registration, profile and admin app. 2025-09-02 06:13:01 +00:00
LeoVasanko ad4bde5d0d Remodel reset token handling due to browsers sometimes refusing to set the cookie when opening the link (from another site). 2025-08-31 03:54:17 +00:00
LeoVasanko 7e45bba612 Almost complete org/permission handling. Much cleanup, bootstrap works. 2025-08-08 01:58:12 +00:00
LeoVasanko 039613a8b3 Cleaner error message on aborted Passkey operations. 2025-08-07 00:00:23 +00:00
LeoVasanko b255362946 Refactor to not use status: success, but HTTP codes, and renamed the error key to detail to match FastAPI's own. 2025-08-06 22:09:55 +00:00
LeoVasanko c8bb2ab12e Checkpoint, fixing reset token handling broken in earlier edits. 2025-08-06 21:55:14 +00:00
LeoVasanko f1ef7e43cc Frontend adjusted for the new API. 2025-08-02 01:16:10 +00:00
LeoVasanko 9b82f77729 Major cleanup and refactoring of the backend (frontend not fully updated). 2025-08-02 00:32:27 +00:00
LeoVasanko 6a2c6f7ed0 Refactoring reset and session tokens, currently broken. 2025-07-15 04:10:02 +00:00
LeoVasanko 286a5180a4 Nxing/Caddy forward_auth support. Various fixes to bugs created in earlier edits. Vite server needs different base in dev mode, fixed. 2025-07-14 04:54:53 +00:00
LeoVasanko 1850f9b27f Move the whole app under /auth/, fix static build. 2025-07-14 02:03:15 +00:00
LeoVasanko 611f1ddd40 Rewritten frontend with Vue 2025-07-14 00:41:08 +00:00