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
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
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
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
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
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