LeoVasanko
880ced3b8c
Always load user's theme from API if available, and update the localStorage cache. Previously in various situations the old cached value was being used instead, leading to inconsistent theming or wrong themeselector readout.
2026-02-18 18:35:41 +00:00
LeoVasanko
af80b5eefc
Make ResetApp Registration layout match the other dialog apps (centered).
2026-02-18 18:01:17 +00:00
LeoVasanko
fa1e69d58b
Imports to top of file.
2026-02-18 17:47:57 +00:00
LeoVasanko
39000ef831
Remove PASKIA_SITE_URL env, use PASKIA_VITE_URL instead, moving the correct site URL determination to paskia CLI directly. This resolves devserver issues where VITE URL was reported as the external site URL instead of configured auth-host or origins. Main CLI still simplified. Bump deps versions and cleanup pyproject.toml.
2026-02-18 17:21:03 +00:00
LeoVasanko
49119fac81
Fix HostProfile user properties access.
2026-02-18 03:47:08 +00:00
LeoVasanko
14aae74b60
Bump and synchronize paskia-js version.
2026-02-18 02:45:33 +00:00
LeoVasanko
68dccc1378
OAuth2 OpenID Connect provider support, API and DB refactoring ( #3 )
...
Allows Paskia to authenticate the user to a client site.
- User friendly client registration flow on the admin app
- Redirect-based authentication flow (per spec)
- Backchannel logout both ways to keep sessions synchronized
- Groups integrated with Paskia's permission system
- Adds email, preferred username and telephone fields on user profile
- All new user basic info layout to show the new information, better looks
- API and DB structures redesigned
- Various unrelated fixes to theming and layout
2026-02-18 02:40:27 +00:00
LeoVasanko
557ffaa0cd
Add theme toggles that were missing from forward and reset apps.
2026-02-17 18:36:12 +00:00
LeoVasanko
c0aba07326
Show credential UUID in logging as they are, no prettifying.
2026-02-17 18:32:47 +00:00
LeoVasanko
f830d7d0ec
More minimalistic light theme. UI hint for org admin user/role management.
2026-02-14 18:36:20 +00:00
LeoVasanko
7f52276c23
Use samesite=strict because we don't need the cookie for page loads.
2026-02-13 20:22:05 +00:00
LeoVasanko
c1f8020f6b
API cleanup, using msgspec structs rather than raw responses. Admin app cleanup, better breadcrumbs.
2026-02-13 20:09:41 +00:00
LeoVasanko
423abb0d1b
Move CLI entry point to main module even though it runs the FastAPI app from a submodule.
2026-02-13 16:26:05 +00:00
LeoVasanko
ef7a6c8011
Upgrade fastapi-vue-setup 1.0.2
2026-02-11 21:33:21 +00:00
LeoVasanko
97064f7bc7
Remove unused CLI bootstrap entry point.
2026-02-11 19:36:06 +00:00
LeoVasanko
fc0541762e
Add version indication and link to our site on profile page (bottom right corner).
2026-02-11 01:36:58 +00:00
LeoVasanko
cebaa2a757
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:15 +00:00
LeoVasanko
4ebe5ae968
Style overhaul.
2026-02-11 01:18:19 +00:00
LeoVasanko
a944224027
Inline get_config, rewrite update_config, DB init Config and rp_id defaults changed.
2026-02-10 23:01:02 +00:00
LeoVasanko
aef0e0cb44
ResetToken.hash(phrase) added avoiding code duplication.
2026-02-10 22:56:49 +00:00
LeoVasanko
d41cffc03e
Remove remaining DB getter functions, inline at call site and add ResetToken.by_passphrase().
2026-02-10 22:48:31 +00:00
LeoVasanko
bad709a3ab
Remove unnecessary odd getter from db.operations.
2026-02-10 22:37:57 +00:00
LeoVasanko
1cfde06de9
Refactor DB lifecycle functions init and cleanup to separate db.lifecycle module.
2026-02-10 22:28:38 +00:00
LeoVasanko
b0b36e88b1
CRUD store and delete on the DB classes directly.
2026-02-10 22:19:02 +00:00
LeoVasanko
2237e6b5e9
Db operations: bootstrap separated to its own module.
2026-02-10 22:08:54 +00:00
LeoVasanko
c2ea01e6d9
Use strictly same now timestamp over a transaction, even for UUIDv7s generated.
2026-02-10 21:45:09 +00:00
LeoVasanko
8b6bdd0f9c
Calculate session expiry times in operations, using a common now timestamp for everything.
2026-02-10 21:35:56 +00:00
LeoVasanko
3ca784dc3c
Set last seen and increment visits during registration, not only on authentication.
2026-02-10 21:25:20 +00:00
LeoVasanko
d8876d9202
README
2026-02-09 19:22:05 +00:00
LeoVasanko
aa22b7709f
README
2026-02-09 18:52:53 +00:00
LeoVasanko
a8222f4bba
README
2026-02-09 18:46:03 +00:00
LeoVasanko
16ab111a89
Make config part of bootstrap.
2026-02-09 18:33:29 +00:00
LeoVasanko
d826146932
Improved CLI logging of DB transactions.
2026-02-09 18:28:24 +00:00
LeoVasanko
fda9b2545e
Fix save config running before bootstrap for new databases.
2026-02-09 18:07:51 +00:00
LeoVasanko
0cf551cb28
Cleaner database error handling and fixes.
2026-02-09 17:55:03 +00:00
LeoVasanko
632230d05c
Minor fixes to config handling.
2026-02-09 17:37:10 +00:00
LeoVasanko
a37198bb4b
README
2026-02-09 17:18:55 +00:00
LeoVasanko
fb71ea1220
Storing config on database to simplify reloads by CLI.
2026-02-09 17:00:40 +00:00
LeoVasanko
25283eba9b
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
LeoVasanko
6a217978d6
Upgrade fastapi-vue-setup.
2026-02-09 16:29:24 +00:00
LeoVasanko
4d48c0720a
README
2026-02-06 01:07:00 +00:00
LeoVasanko
083d20c8c9
README
2026-02-06 01:00:58 +00:00
LeoVasanko
c662fbd39c
README
2026-02-06 00:29:16 +00:00
LeoVasanko
edf80aef52
README
2026-02-06 00:27:01 +00:00
LeoVasanko
8d5c53ab72
README
2026-02-06 00:25:38 +00:00
LeoVasanko
f8a760ddfd
README
2026-02-06 00:23:44 +00:00
LeoVasanko
430394a1e5
README
2026-02-06 00:22:03 +00:00
LeoVasanko
4c54ad5d1f
Docs, screenshot of permissions view.
2026-02-06 00:16:29 +00:00
LeoVasanko
0b2be18b44
Docs
2026-02-06 00:08:27 +00:00
LeoVasanko
1c8be68811
README
2026-02-05 22:58:42 +00:00
LeoVasanko
116bc3c4ef
README
2026-02-05 22:44:26 +00:00
LeoVasanko
c641c721c7
README
2026-02-05 21:54:14 +00:00
LeoVasanko
8fc03ade04
Remove the reset subcommand that was broken and unnecessary.
2026-02-05 21:53:30 +00:00
LeoVasanko
6ad3aa7d8c
Screenshots, README.
2026-02-05 21:38:57 +00:00
LeoVasanko
d8444b0db8
New screenshot after theme changes.
2026-02-05 20:38:30 +00:00
LeoVasanko
f515daeecd
Release paskia-js 0.1.3 with minor updates on styling and metadata.
2026-02-05 19:49:39 +00:00
LeoVasanko
5deb57435b
Remove paskia-migration script (SQL no longer supported).
2026-02-05 19:32:18 +00:00
LeoVasanko
250189dbe5
Update tests for the latest changes.
2026-02-05 19:26:20 +00:00
LeoVasanko
3469e6fa3f
ruff check
2026-02-05 19:21:03 +00:00
LeoVasanko
c3df6c318c
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
LeoVasanko
615066a2a2
Upgrade by fastapi-vue-setup, devserver script entirely rewritten to use its facilities.
2026-02-05 18:50:08 +00:00
LeoVasanko
70c682b539
Improved client IP and UA handling.
2026-02-05 17:33:08 +00:00
LeoVasanko
8444d0399e
Improved theme picker
2026-02-05 16:19:06 +00:00
LeoVasanko
3c5f8694b3
Load stylesheets directly from HTML to avoid flashing wrong background color first.
2026-02-05 15:39:51 +00:00
LeoVasanko
871eb149ab
Styling updates, more robust dynamic/userpref light/dark switching. Sync with paskia-js.
2026-02-05 15:27:15 +00:00
LeoVasanko
291a665e21
Improved UI feedback on registration link creation.
2026-02-05 14:26:11 +00:00
LeoVasanko
0537b85085
Better UI for role deletions.
2026-02-05 14:05:36 +00:00
LeoVasanko
af5a48f565
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 13:57:07 +00:00
LeoVasanko
632278d4ce
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:54:07 +00:00
LeoVasanko
3faaeee7be
Add missing __init__ that was causing ModuleFoundError trying to import paskia.util.
2026-02-05 02:33:05 +00:00
LeoVasanko
0f51f8501d
Console startup box themed as well.
2026-01-31 00:30:14 +00:00
LeoVasanko
a7e6eb7341
Missing theme file. Added favicon.
2026-01-31 00:25:38 +00:00
LeoVasanko
1800dc12ae
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
LeoVasanko
cc55474e62
Light/dark override for in-app login dialogs to match app style e.g. light only
2026-01-30 22:59:52 +00:00
LeoVasanko
8ac2c8e5fa
Screenshots on README.
2026-01-29 22:50:54 +00:00
LeoVasanko
2ee8ddf1d1
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
LeoVasanko
d58b3742b1
Smarter change logging on console, properly display newly created items (not available via jsondiffs).
2026-01-29 22:39:16 +00:00
LeoVasanko
5879be39a5
Better change entry logging.
2026-01-29 22:09:26 +00:00
LeoVasanko
5b3406025c
Silence type checker about our unconventional imports.
2026-01-29 22:09:03 +00:00
LeoVasanko
dda57ac27d
Fix WS access log IP margin size change missed in earlier commit.
2026-01-29 21:39:30 +00:00
LeoVasanko
5e12dcba76
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:09 +00:00
LeoVasanko
be7a9e7f00
Smarter access log formatting with IPv6.
2026-01-29 21:17:50 +00:00
LeoVasanko
3d2151fed7
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
LeoVasanko
58b56a09a4
Restrict remote auth to the existing granting user's credentials.
2026-01-29 20:24:26 +00:00
LeoVasanko
731b36b456
Cleanup auth WS code, refactor to remove duplication and pass proper context.
2026-01-29 20:15:01 +00:00
LeoVasanko
8f9cd1124c
Add missing context on update_session.
2026-01-29 19:51:56 +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
af35ff3d4c
Add a screenshot.
2026-01-29 19:15:17 +00:00
LeoVasanko
dac1415a86
More of a normal white path color.
2026-01-29 16:57:30 +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
58f46c6abf
Logging cleanup, better colors, suppress more useless messages. Enable reloading in devmode again (needs uvicorn.run to function).
2026-01-29 14:48:59 +00:00
LeoVasanko
7c4418e631
Smarter change logging on console.
2026-01-28 23:22:03 +00:00
LeoVasanko
1648c8641f
Improved access logging.
2026-01-28 23:01:35 +00:00
LeoVasanko
63eb088dbd
Cleanup
2026-01-28 20:31:33 +00:00
LeoVasanko
e88cc004dd
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:21:09 +00:00
LeoVasanko
76921e8b31
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
LeoVasanko
c1b0aab296
Cleanup
2026-01-28 19:17:24 +00:00
LeoVasanko
8f89bb6d4b
Modules missing git add
2026-01-28 19:04:18 +00:00
LeoVasanko
d16d1ed1c2
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