Changeset 0.24.1 (#157)
This commit is contained in:
@@ -1351,7 +1351,7 @@ Depends on: v0.23.1 sidebar and conversation taxonomy.
|
||||
|
||||
---
|
||||
|
||||
## v0.24.0 — Auth Abstraction + User Identity ← active
|
||||
## v0.24.0 — Auth Abstraction + User Identity ✅
|
||||
|
||||
Auth provider interface decoupling builtin auth from the handler/middleware
|
||||
layer. User model extended with `auth_source`, `external_id`, `handle`.
|
||||
@@ -1394,24 +1394,31 @@ Depends on: v0.23.0 (channel_participants), v0.16.0 (groups), v0.9.4 (vault).
|
||||
- [x] Frontend autocomplete matches on handle, uses handle as @mention token
|
||||
|
||||
**Migration:**
|
||||
- [ ] 018_auth_abstraction: `auth_source`, `external_id`, `handle` columns + unique indexes + backfill
|
||||
- [x] 018_auth_abstraction: `auth_source`, `external_id`, `handle` columns + unique indexes + backfill
|
||||
|
||||
---
|
||||
|
||||
## v0.24.1 — mTLS + OIDC Providers
|
||||
## v0.24.1 — mTLS + OIDC Providers ✅
|
||||
|
||||
Two external auth implementations plugging into v0.24.0's provider interface.
|
||||
Keycloak integration test environment via docker-compose overlay.
|
||||
|
||||
Depends on: auth abstraction (v0.24.0).
|
||||
See [DESIGN-0.24.0.md](DESIGN-0.24.0.md) §v0.24.1 for full spec.
|
||||
|
||||
- [ ] mTLS provider: trusted header extraction, cert DN parsing, auto-provision
|
||||
- [ ] OIDC provider: well-known discovery, token validation, claim extraction
|
||||
- [ ] Per-source auto-activate policy (global_config keys)
|
||||
- [ ] OIDC claim → group mapping (external groups sync to internal groups)
|
||||
- [ ] Login page adapts by `AUTH_MODE` (form / cert status / SSO button)
|
||||
- [ ] mTLS users: no personal vault (`vault_set=false`), team/global providers only
|
||||
- [ ] Migration 019: `oidc_auth_state` table, `groups.source` column
|
||||
- [x] mTLS provider: trusted header extraction, cert DN parsing, auto-provision
|
||||
- [x] OIDC provider: well-known discovery, JWKS caching, token validation, claim extraction
|
||||
- [x] OIDC authorization code flow: login redirect, code exchange, token handoff via fragment
|
||||
- [x] Split-horizon issuer support (`OIDC_EXTERNAL_ISSUER_URL` for Docker/K8s)
|
||||
- [x] OIDC claim → group mapping (external groups sync to internal groups with `source=oidc`)
|
||||
- [x] Login page adapts by `AUTH_MODE` (form / cert status / SSO button)
|
||||
- [x] Keycloak docker-compose overlay with pre-configured realm (`ci/keycloak-realm.json`)
|
||||
- [x] `QArgs()` dialect adapter: handles Postgres `$N` reuse for SQLite arg expansion
|
||||
- [x] `database.QueryRow/Query/Exec` wrappers with automatic arg expansion
|
||||
- [x] Migration 019: `oidc_auth_state` table, `groups.source` column
|
||||
- [x] Unit tests: mTLS (ParseDN, config), OIDC (discovery, auth URL, mode), QArgs (5 tests)
|
||||
- [x] Regression test: `TestIntegration_ChannelListWithTypeFilter`
|
||||
- [x] SQLite local dev fixes: `_time_format` DSN, store wiring, nginx resolver, extension assets
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user