LeoVasanko
871eb149ab
Styling updates, more robust dynamic/userpref light/dark switching. Sync with paskia-js.
2026-02-05 15:27:15 +00:00
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