Commit Graph
100 Commits
Author SHA1 Message Date
Leo Vasanko 8132189a04 Rename /auth/restricted/ to auth/restricted/{iframe,oidc} for clarity and separation. 2026-02-15 03:05:11 +00:00
Leo Vasanko 701b0810bd Stricter security. Moved to /auth/oidc/ 2026-02-15 02:57:23 +00:00
Leo Vasanko b5a5f2707a Draft OpenID Connect support. 2026-02-14 23:01:13 +00:00
Leo Vasanko f195818f07 Upgrade fastapi-vue-setup 1.0.2 2026-02-11 21:33:21 +00:00
Leo Vasanko e16c027b53 Remove unused CLI bootstrap entry point. 2026-02-11 20:29:12 +00:00
Leo Vasanko a9cf518296 Add version indication and link to our site on profile page (bottom right corner). 2026-02-11 01:36:58 +00:00
Leo Vasanko 0af7d4b939 Less eagerly enable very wide layout for user profile (only if more than 8 items for passkeys or per site sessions). 2026-02-11 01:24:23 +00:00
Leo Vasanko 419f69cef5 Style overhaul. 2026-02-11 01:18:19 +00:00
Leo Vasanko b1731e5abf Inline get_config, rewrite update_config, DB init Config and rp_id defaults changed. 2026-02-10 23:17:28 +00:00
Leo Vasanko 9332eb63ab ResetToken.hash(phrase) added avoiding code duplication. 2026-02-10 22:56:49 +00:00
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 6961a82f3f Remove unnecessary odd getter from db.operations. 2026-02-10 22:37:57 +00:00
Leo Vasanko f7d9d03765 Refactor DB lifecycle functions init and cleanup to separate db.lifecycle module. 2026-02-10 22:28:38 +00:00
Leo Vasanko 2f2934db6b CRUD store and delete on the DB classes directly. 2026-02-10 22:19:02 +00:00
Leo Vasanko f0d360758c Db operations: bootstrap separated to its own module. 2026-02-10 22:09:07 +00:00
Leo Vasanko 12715ee405 Use strictly same now timestamp over a transaction, even for UUIDv7s generated. 2026-02-10 21:45:09 +00:00
Leo Vasanko 2105040661 Calculate session expiry times in operations, using a common now timestamp for everything. 2026-02-10 21:35:56 +00:00
Leo Vasanko 4fcfee78c7 Set last seen and increment visits during registration, not only on authentication. 2026-02-10 21:25:20 +00:00
Leo Vasanko 859a76a029 README 2026-02-09 19:22:05 +00:00
Leo Vasanko 441f920736 README 2026-02-09 18:52:53 +00:00
Leo Vasanko 9716b06399 README 2026-02-09 18:46:03 +00:00
Leo Vasanko abdca4f648 Make config part of bootstrap. 2026-02-09 18:33:29 +00:00
Leo Vasanko eb2a003f24 Improved CLI logging of DB transactions. 2026-02-09 18:28:24 +00:00
Leo Vasanko e4efc1c442 Fix save config running before bootstrap for new databases. 2026-02-09 18:07:51 +00:00
Leo Vasanko a1cb112f50 Cleaner database error handling and fixes. 2026-02-09 17:55:03 +00:00
Leo Vasanko 5962f394b5 Minor fixes to config handling. 2026-02-09 17:37:10 +00:00
Leo Vasanko 215799e6d7 README 2026-02-09 17:18:55 +00:00
Leo Vasanko b92cc183dd Storing config on database to simplify reloads by CLI. 2026-02-09 17:00:40 +00:00
Leo Vasanko 9ab5feb4f0 Change database name to (rp-id).paskiadb (previously paskia.jsonl). Validate the rp-id in passkey init. 2026-02-09 16:42:12 +00:00
Leo Vasanko a5b207b2b6 Upgrade fastapi-vue-setup. 2026-02-09 16:29:24 +00:00
Leo Vasanko 5163a02cb8 README 2026-02-06 01:07:00 +00:00
Leo Vasanko 1cb19dd902 README 2026-02-06 01:00:58 +00:00
Leo Vasanko 5d7fe4e9f3 README 2026-02-06 00:29:16 +00:00
Leo Vasanko b90fc71589 README 2026-02-06 00:27:01 +00:00
Leo Vasanko f1d48cec49 README 2026-02-06 00:25:38 +00:00
Leo Vasanko 3d6c82b611 README 2026-02-06 00:23:44 +00:00
Leo Vasanko eaeb67a881 README 2026-02-06 00:22:03 +00:00
Leo Vasanko 86393e4a26 Docs, screenshot of permissions view. 2026-02-06 00:16:29 +00:00
Leo Vasanko 544f6697e4 Docs 2026-02-06 00:08:27 +00:00
Leo Vasanko 3a276e9941 README 2026-02-05 22:58:42 +00:00
Leo Vasanko 75e5cb9d6e README 2026-02-05 22:44:26 +00:00
Leo Vasanko 362778dd84 README 2026-02-05 21:54:14 +00:00
Leo Vasanko 0030c5c35d Remove the reset subcommand that was broken and unnecessary. 2026-02-05 21:53:30 +00:00
Leo Vasanko 572a7522ae Screenshots, README. 2026-02-05 21:38:57 +00:00
Leo Vasanko fe913c32ba New screenshot after theme changes. 2026-02-05 20:38:30 +00:00
Leo Vasanko b4ff430612 Release paskia-js 0.1.3 with minor updates on styling and metadata. 2026-02-05 19:49:39 +00:00
Leo Vasanko 03f3a2bdbe Remove paskia-migration script (SQL no longer supported). 2026-02-05 19:32:18 +00:00
Leo Vasanko aa8e1c23d1 Update tests for the latest changes. 2026-02-05 19:26:20 +00:00
Leo Vasanko 8ba5356d11 ruff check 2026-02-05 19:21:03 +00:00
Leo Vasanko 3e533d4414 Change host normalization to remove port numbers - sessions are per host, cookies don't respect port numbers. 2026-02-05 19:04:40 +00:00
Leo Vasanko c04e9659ce Upgrade by fastapi-vue-setup, devserver script entirely rewritten to use its facilities. 2026-02-05 18:50:08 +00:00
Leo Vasanko fa378eb82e Improved client IP and UA handling. 2026-02-05 18:02:23 +00:00
Leo Vasanko e1f6c85ced Improved theme picker 2026-02-05 16:19:06 +00:00
Leo Vasanko ad347a9d8a Load stylesheets directly from HTML to avoid flashing wrong background color first. 2026-02-05 15:39:51 +00:00
Leo Vasanko df8bbef8de Styling updates, more robust dynamic/userpref light/dark switching. Sync with paskia-js. 2026-02-05 15:34:02 +00:00
Leo Vasanko 9a6614f057 Improved UI feedback on registration link creation. 2026-02-05 14:26:11 +00:00
Leo Vasanko 4953920dbf Better UI for role deletions. 2026-02-05 14:05:36 +00:00
Leo Vasanko f39986412a API/DB cleanup for flat URLs that don't include org where users etc. are referred to. Implement user deletion in admin app and API, UI improvement. Reset token DB factory function revised to create passphrase and key internally. Removed unneeded functions and args, using update_user_role instead of a separate deleted _in_organization function. 2026-02-05 14:05:31 +00:00
Leo Vasanko db75535e05 Change CLI to use --listen rather than positional hostport argument. Fix listening on all interfaces (runs lifespan twice, which needs to be OK). Update README with various CLI changes and more. 2026-02-05 02:58:07 +00:00
Leo Vasanko f868ee3f6b Add missing __init__ that was causing ModuleFoundError trying to import paskia.util. 2026-02-05 02:33:05 +00:00
Leo Vasanko bafa5b584a Console startup box themed as well. 2026-01-31 00:30:14 +00:00
Leo Vasanko 6f1dfd1ab5 Missing theme file. Added favicon. 2026-01-31 00:25:38 +00:00
Leo Vasanko cc439aaf12 Light/dark selection in user profile, if set this is preferred on the whole system, together with app overrides (the first one on the URL wins). 2026-01-30 23:31:06 +00:00
Leo Vasanko 0096727b41 Light/dark override for in-app login dialogs to match app style e.g. light only 2026-01-30 23:00:02 +00:00
Leo Vasanko d22879c0f6 Screenshots on README. 2026-01-29 22:50:54 +00:00
Leo Vasanko 75c592dbc0 Log proper action for delete_session depending on what function it performs: logout, delete_session (user's own) or admin:delete_session. 2026-01-29 22:44:22 +00:00
Leo Vasanko 4258ddcf04 Smarter change logging on console, properly display newly created items (not available via jsondiffs). 2026-01-29 22:39:16 +00:00
Leo Vasanko 635422a5f5 Better change entry logging. 2026-01-29 22:09:26 +00:00
Leo Vasanko 5d52eb0b22 Silence type checker about our unconventional imports. 2026-01-29 22:09:03 +00:00
Leo Vasanko 4e80e82b38 Fix WS access log IP margin size change missed in earlier commit. 2026-01-29 21:39:30 +00:00
Leo Vasanko 4ee131563b Add paskia-js to Python build; update build-frontend to use fastapi-vue utils for JS_RUNTIME that also can be set via env now. Fix paskia-js compatibility issue with deno, now works with all three runtimes. 2026-01-29 21:33:39 +00:00
Leo Vasanko e9cc84f3c6 Smarter access log formatting with IPv6. 2026-01-29 21:17:50 +00:00
Leo Vasanko 8749067da7 Add support for perm=foo+bar to specify multiple scopes that are required. Multiple perm args are acceptable too. Pretty logging of permission denied errors. 2026-01-29 21:11:29 +00:00
Leo Vasanko ac85379779 Restrict remote auth to the existing granting user's credentials. 2026-01-29 20:24:26 +00:00
Leo Vasanko 09c241aa2c Cleanup auth WS code, refactor to remove duplication and pass proper context. 2026-01-29 20:15:01 +00:00
Leo Vasanko ba6dea03d3 Add missing context on update_session. 2026-01-29 19:51:56 +00:00
Leo Vasanko 5fc5226480 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
Leo Vasanko 9b9086b52e Add a screenshot. 2026-01-29 19:15:17 +00:00
Leo Vasanko a0de041348 More of a normal white path color. 2026-01-29 16:57:30 +00:00
Leo Vasanko d8743d9f90 Refactor to separate paskia lib functionality generally useful for various apps. 2026-01-29 16:55:46 +00:00
Leo Vasanko 760b109eef 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
Leo Vasanko f89e812c86 Logging cleanup, better colors, suppress more useless messages. Enable reloading in devmode again (needs uvicorn.run to function). 2026-01-29 14:49:22 +00:00
Leo Vasanko 33f6512b4b Smarter change logging on console. 2026-01-28 23:22:13 +00:00
Leo Vasanko f3646ed6c5 Improved access logging. 2026-01-28 23:01:35 +00:00
Leo Vasanko 6b8a2a2376 Cleanup 2026-01-28 20:31:33 +00:00
Leo Vasanko 89d0a12a6f Implement versioning in metadata, outside of the DB itself. Cleanup to migration handling and changes. Implement new migration step using msgspec normalization. 2026-01-28 20:23:00 +00:00
Leo Vasanko 5ec50be922 Add migrate:msgspec for changes in schema that don't require version bump. Rename the other migrations to migrate:sql and migrate:v{N}. 2026-01-28 19:24:15 +00:00
Leo Vasanko 93fd496254 Cleanup 2026-01-28 19:17:24 +00:00
Leo Vasanko ff3c4a00e5 Modules missing git add 2026-01-28 19:04:18 +00:00
Leo Vasanko a70eba3440 Make database changes outside of transaction a fatal error. Fix bootstrap and migrate to work with various latest changes. 2026-01-28 19:04:00 +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 7614d0e8d9 API to use msgspec structs as well. 2026-01-28 18:31:45 +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 6546b0730d Problem solved, remove extraneous migration, reset to v1. 2026-01-28 02:29:53 +00:00
Leo Vasanko f59451d3b4 Debug DB problem 2026-01-28 02:27:26 +00:00
Leo Vasanko ed8de169de Credential update was being done out of transaction, now part of login. 2026-01-28 02:22:47 +00:00
Leo Vasanko f29bd98020 Debug DB problem 2026-01-28 02:19:54 +00:00
Leo Vasanko 9983245652 Remove get_session_context setting of host (now read only op as expected). Make session host, ip and user_agent always set (the ua potentially empty string). 2026-01-28 02:14:34 +00:00
Leo Vasanko 78a7c4f07a Fix migration logic. 2026-01-28 02:02:18 +00:00