Commit Graph
100 Commits
Author SHA1 Message Date
Leo Vasanko 7a09dbc040 Simplified user info update APIs, DB and frontend to remove separate update functions for each property. Automatically choose preferred username for users as they register, based on display name. 2026-02-17 18:16:32 +00:00
Leo Vasanko 8128d40202 New user basic info card and improved layout, telephone number and other contact details shown. 2026-02-17 17:33:06 +00:00
Leo Vasanko a67fd77a32 Note: icon optional 2026-02-17 15:34:01 +00:00
Leo Vasanko fa53ba11f8 More robust/correct discovery and icon URL handling. 2026-02-17 15:30:39 +00:00
Leo Vasanko 239b9b436b Only use transparent background on the iframe. Restores default canvas color on forwarded and oidc where no original page exists behind. 2026-02-17 15:06:40 +00:00
Leo Vasanko 28f231da8e Suggest icon URL for OIDC. 2026-02-17 14:56:24 +00:00
Leo Vasanko 3a05120d06 Consistent OIDC layout, admin app spacing. UX tuneup. 2026-02-17 14:13:03 +00:00
Leo Vasanko 7c75947662 Admin OIDC cleanup. 2026-02-17 13:36:46 +00:00
Leo Vasanko 8c88e6e37c Vite dev proxy ./well-known/openid-configuration 2026-02-17 13:34:30 +00:00
Leo Vasanko d526b2a98d Group OIDC sessions correctly in profile view. 2026-02-17 12:27:57 +00:00
Leo Vasanko 7523a49543 Add preferred username and email to user data. 2026-02-17 12:07:25 +00:00
Leo Vasanko 627912fae5 Fix tests for earlier changes. 2026-02-17 01:35:11 +00:00
Leo Vasanko f8c213c7dc Implement backchannel logout to client. 2026-02-17 01:31:45 +00:00
Leo Vasanko b5e308d5df OIDC authentication works, remove debug. 2026-02-17 01:09:16 +00:00
Leo Vasanko ba3695cf88 Aud problem debug. 2026-02-17 00:20:53 +00:00
Leo Vasanko 2e8439f876 Issuer problem debug. 2026-02-17 00:19:04 +00:00
Leo Vasanko d0abd224f4 Issuer problem debug. 2026-02-17 00:17:47 +00:00
Leo Vasanko 5bc92ce983 Issuer problem debug. 2026-02-17 00:16:10 +00:00
Leo Vasanko 5019cd13fe Fix again, didn't work 2026-02-17 00:07:26 +00:00
Leo Vasanko 72307fb7c3 Fix again, didn't work 2026-02-17 00:05:22 +00:00
Leo Vasanko 21d1e123f5 Fix FastAPI token grant_type validation error when missing and form was sent by client. 2026-02-17 00:00:51 +00:00
Leo Vasanko fee833b908 Made PKCE and nonce optional, only when client wants them. 2026-02-16 23:55:42 +00:00
Leo Vasanko ce68af5be3 Correct OIDC mode handling in restricted app. 2026-02-16 23:38:23 +00:00
Leo Vasanko bcecb390e1 Fix registration broken from earlier hardening. Streamline authentication and registration to avoid duplication of this. 2026-02-16 21:26:24 +00:00
Leo Vasanko 2a318adab4 Add back missing ResetToken.delete() lost on earlier refactoring. 2026-02-16 20:53:07 +00:00
Leo Vasanko 30aeb9a310 Admin OIDC Client editing moved to its own page. 2026-02-16 20:32:55 +00:00
Leo Vasanko 09049d3094 Implement redirect URL autodiscovery (Trust On First Use - if none are manually defined). 2026-02-16 20:32:11 +00:00
Leo Vasanko 0081cc835b [paskia-js] Inject styles when backdrop is needed for non-auth dialogs. 2026-02-16 19:16:09 +00:00
Leo Vasanko e7e0097fba User friendly admin app OIDC Client dialog. Permissions domain scoping to OIDC Clients. 2026-02-16 17:43:52 +00:00
Leo Vasanko b73b2d6fe9 Renamed OIDC permissions claim to more commonly used groups. Move jwtk to a more convenient location. Draft admin app OIDC client configuratioon. 2026-02-16 16:54:53 +00:00
Leo Vasanko eece6d4a21 Remove some confusion between exchange and set-session endpoints, all using set-session now with a bearer code. Using codes in remote auth as well. Full separation of cookie and OIDC codes. 2026-02-16 14:26:20 +00:00
Leo Vasanko ebf5f6db2c Route our new restricted endpoints correctly on vite dev. 2026-02-16 14:23:07 +00:00
Leo Vasanko d653a1db35 Database migration to add OIDC and convert to hardened sessions. 2026-02-15 21:12:29 +00:00
Leo Vasanko feeea30cb6 Hardening OIDC verification. 2026-02-15 20:49:13 +00:00
Leo Vasanko e59852b44c Session keys hardened (namespaced hashes of tokens). Various cleanup. 2026-02-15 20:14:48 +00:00
Leo Vasanko 18722f0e01 Implement stateful OIDC as Session objects. Add refresh tokens and backchannel logout. 2026-02-15 03:48:10 +00:00
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