Commit Graph
24 Commits
Author SHA1 Message Date
Leo Vasanko 228a103d73 Fix static asset serving in devserver mode. 2026-02-18 22:19:18 +00:00
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 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 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 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 db104d762b Finish the database key-in-object refactoring. 2026-01-27 02:11:09 +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