LeoVasanko
9b28250391
Upgrade to kanta 0.4.0:
...
- Make use of its new features and cleanup our interfacing and init/shutdown processes and migrations
- Clean up circular deps, simplify app init
- Add specific pytest for CLI main to cover the changes
2026-06-13 21:59:18 +00:00
LeoVasanko
b9aec6bb58
Remove built-in database, replace with kanta package. No disk format changes.
2026-06-12 19:39:30 +00:00
LeoVasanko
c79cb497ee
Fix profile image path on OIDC.
2026-05-22 02:45:12 +00:00
LeoVasanko
9f50c8c20d
Missing file
2026-05-22 01:40:53 +00:00
LeoVasanko
816c7a681e
Update E2E tests for new database folder.
2026-05-22 01:40:09 +00:00
LeoVasanko
d31c09084e
Make rpid.paskiadb a folder containing the database and the files in one. Migrates existing old format rpid.paskiadb file to main.db.
2026-05-22 01:22:35 +00:00
LeoVasanko
cc938dd306
Fix a call to loadOrgs when renaming a role, missed in earlier refactoring where we use loadAdminData() for refreshing.
2026-05-22 00:31:06 +00:00
LeoVasanko
36db1e7e56
Fix showing of admin reset link also in devserver where the logging configuration was eating the message.
2026-05-22 00:22:04 +00:00
LeoVasanko
95c163e37a
Add profile picture support
...
- backend avatar storage and OIDC picture claims
- profile and admin UI components
- admin org cards, tests, and docs
2026-05-21 23:57:48 +00:00
LeoVasanko
2d0d17c307
fix remote auth: create session for requesting device host
2026-04-30 21:47:47 +00:00
LeoVasanko
10980ad39b
fix type hints: update_session and set_session_host key type
2026-04-30 21:47:46 +00:00
LeoVasanko
42b54cf645
Release 1.4.0
2026-04-29 20:48:12 +00:00
LeoVasanko
232d0e1ae0
Added configurable timeout settings to paskia-js, used in our frontend as well. The default fetch timeout has been changed to 10s from prior 1s, but we maintain 1s for auth endpoints in internal use.
2026-04-29 20:23:38 +00:00
LeoVasanko
e97a2b3291
Improved color compatibility across terminals that may have very different ideas of yellow shades.
2026-04-29 16:23:34 +00:00
LeoVasanko
cde709e252
Print original METHOD /path on auth/api/forward access log entries. Previously the method was not printed, and nothing was printed for 401 without a session.
2026-04-29 15:47:37 +00:00
LeoVasanko
72d76df35d
Log session id from handlers on selected auth routes. Adds request.state.log_extra for handlers to print access log extra.
2026-04-29 03:02:30 +00:00
LeoVasanko
1a742fc0e7
Cleaner websocket access log.
2026-04-29 02:45:20 +00:00
LeoVasanko
0b29654d6f
Log original path on forward endpoint. Added logging extra argument for such additions on access logs.
2026-04-29 02:16:48 +00:00
LeoVasanko
76f24a755b
Add GET /auth/api/check endpoint for unauthenticated user permission checks
...
Checks permissions for a user given by ?user=<UUID> query arg without
requiring a session cookie. No cookie is read or written, no DB writes.
- perm= query arg supported (same wildcard semantics as validate/forward)
- Returns valid bool + minimal ctx (user/org/role/permissions)
- Permissions are host-scoped via domain filtering, same as session_ctx
- 404 if UUID not found; valid=false if perm check fails (no 403)
- Add ApiCheckUserResponse struct to apistructs
- Add has_all_scopes() helper to permutil for scope-set-based checks
2026-04-26 05:45:59 +00:00
LeoVasanko
5c452f325a
Better error messages on database loading errors.
2026-02-19 21:52:33 +00:00
LeoVasanko
e9b6bc7a3d
Implement migration for old format listen field in database (re: commit f746085)
2026-02-19 21:26:12 +00:00
LeoVasanko
f5545b48f0
Remove dead code.
2026-02-19 21:10:16 +00:00
LeoVasanko
c1b2bcf76c
Correct alphabetical sort of names in Org Admin panel. Supports Last, First and First Last + variatioons.
2026-02-19 20:54:52 +00:00
LeoVasanko
1806bcab5c
A bit more color for light theme; cleaner user badges in admin app.
2026-02-19 20:40:21 +00:00
LeoVasanko
be177cbafc
Add default value for a(ction) field in change records to keep support for very old versions.
2026-02-19 20:16:16 +00:00
LeoVasanko
f5ccc204be
Fix adminapp reference after refactoring.
2026-02-19 20:03:58 +00:00
LeoVasanko
dd2031eef5
Fix runtime config update by Server Options panel.
2026-02-19 19:57:12 +00:00
LeoVasanko
3cb24bfee9
Refactor to separate admin app modules to subapps, required trailing slashes and plural changes on some of the URLs.
2026-02-19 19:49:13 +00:00
LeoVasanko
3f51d06f13
Admin Server Options panel added for configuring rp-name, auth-host and origins.
2026-02-19 18:53:53 +00:00
LeoVasanko
528a728eb8
README
2026-02-19 18:44:06 +00:00
LeoVasanko
727625ef4f
Avoid storing IP and User Agent on OpenID Connect token renewals; preserves the user's information from authentication.
2026-02-19 16:34:44 +00:00
LeoVasanko
5f7a5ed9b1
Added database snapshots, cleanup, better error messages.
2026-02-19 16:29:23 +00:00
LeoVasanko
d64e63527b
CLI main and RuntimeConfig cleanup. Added a session_ctx wrapper function for easier access and avoiding hostutil import in db.
2026-02-19 14:24:16 +00:00
LeoVasanko
733439b446
Logging cleanup, better color compatibility for Mac Terminal and consistent across DB and FastAPI access logs.
2026-02-19 14:19:54 +00:00
LeoVasanko
4e6f63e9ef
Fix auth-host being added to origins even when no origins were wanted.
2026-02-19 01:00:13 +00:00
LeoVasanko
d431c75297
Fix request header removal that was causing zstd compressed response when we wanted plain text.
2026-02-19 00:51:11 +00:00
LeoVasanko
6257071efe
Cleaned Org Admin styling.
2026-02-19 00:37:44 +00:00
LeoVasanko
7958b6f365
Migrations cleanup by using a MigrationCtx object for meta.
2026-02-19 00:08:38 +00:00
LeoVasanko
b3cb540098
Implement database file locking for extra safety.
2026-02-19 00:01:49 +00:00
LeoVasanko
22ba7231b1
Implement read-only database load at startup for CLI to get its settings. Full opening only when server has started.
2026-02-18 23:46:18 +00:00
LeoVasanko
9a9979fb62
Add missing new file.
2026-02-18 23:45:22 +00:00
LeoVasanko
9b7855c0af
Faster and simplified hash_secret() that directly produces urlsafe entries.
2026-02-18 23:02:36 +00:00
LeoVasanko
dfc4c76d43
Fix static asset serving in devserver mode.
2026-02-18 22:19:18 +00:00
LeoVasanko
e1f0fdf664
Fix E2E tests
2026-02-18 22:18:31 +00:00
LeoVasanko
f26ac8f33b
Simplified My Profile authentication flows, fixed some UX issues with reauth cancelled/accepted leading to incorrect states.
2026-02-18 19:04:02 +00:00
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