LeoVasanko
4604a65646
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
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
f0d360758c
Db operations: bootstrap separated to its own module.
2026-02-10 22:09:07 +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
aa8e1c23d1
Update tests for the latest changes.
2026-02-05 19:26:20 +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
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
b79f367495
Implement full ORM. Various other cleanup.
2026-01-28 17:19:56 +00:00
Leo Vasanko
d40a2b8682
DB transactions cleanup, better actor/user data. Simplified admin API. Use UUID to refer to a specific permission in admin API. Other cleanup.
2026-01-27 21:48:21 +00:00
Leo Vasanko
e3b64ef537
Move imports to top of file.
2026-01-27 20:16:32 +00:00
Leo Vasanko
a54819aba8
Remove most remaining DB getters. Add ws auth chat helper function to avoid repetition, along with the existing register chat in wschat.py.
2026-01-27 20:01:17 +00:00
Leo Vasanko
1c4fda6aa2
DB cleanup continued: Made the working copy data public in DB class.
2026-01-27 18:02:16 +00:00
Leo Vasanko
e2a4143543
Consistently use UUID type in APIs instead of UUID str as option.
2026-01-27 16:24:02 +00:00
Leo Vasanko
bafd62a1b1
DB getter refactoring. Documented call sites. Added separate function for by-scope permission lookup.
2026-01-27 15:54:28 +00:00
Leo Vasanko
637b1b95a8
Finalize database API class merge.
2026-01-27 03:00:18 +00:00
Leo Vasanko
2413a32bda
Update the API to use new naming matching database.
2026-01-27 02:22:29 +00:00
Leo Vasanko
db104d762b
Finish the database key-in-object refactoring.
2026-01-27 02:11:09 +00:00
Leo Vasanko
533932b798
Fix test expected HTTP code.
2026-01-25 03:20:28 +00:00
Leo Vasanko
0097bb4011
Logging cleanup, linter.
2026-01-24 01:08:00 +00:00
Leo Vasanko
f7f529d8b9
Fix errors where permission scopes were still expected for indexing.
2026-01-24 00:58:18 +00:00
Leo Vasanko
6d340ef689
Large refactoring for better JSONL context. Switched back the urlsafe for session tokens that need to be passed in URLs. Other minor fixes.
2026-01-24 00:40:32 +00:00
Leo Vasanko
0674f9ceeb
Database refactor to separate modules.
2026-01-23 18:35:35 +00:00
Leo Vasanko
c6dadd283d
Change PUT to PATCH for intent-based updates, avoiding override of fields not intended to change. This preserves role permissions matrix even if the permission is temporarily removed from the org.
2026-01-23 15:41:23 +00:00
Leo Vasanko
4c1db37c73
Better handling of Org Admin permission. More guardrails for Master Admin not locking himself out by changes. Admin app UI improvements.
2026-01-23 15:11:01 +00:00
Leo Vasanko
253387be97
Permissions refactor. Permissions have UUID and scope (previously id) and the latter no longer needs to be unique. Org admin uses a single global permission now. Domain scoped permissions. Removed from user info the admin fields, use effective_permission checks instead.
2026-01-23 13:54:31 +00:00
Leo Vasanko
291e0eae0b
Replace session.renewed with .expiry for consistency with other expiring items. Fix migration script.
2026-01-23 01:39:59 +00:00
Leo Vasanko
ab65f3dae2
Database cleanup: make it synchronous because we work with in-memory data. Defer writes to disk and cleanup to background task. Tests passing.
2026-01-23 01:22:47 +00:00
Leo Vasanko
887c0f92a2
Replace SQL database with JSONL based solution that keeps history.
2026-01-23 00:54:37 +00:00
Leo Vasanko
2bac94a548
API tests added with near-complete coverage over user and admin APIs. 60% overall backend. (not including E2E test in coverage)
2025-12-06 04:45:26 +00:00