Add app home Spaces shell and session diagnostics profile menu

Post-login lands on Spaces empty state instead of a principal dump.
Profile menu exposes Session details with identity, tenant, roles/groups,
and authz diagnostics for operator refinement (CSOC-WP-0004 T01/T07).
This commit is contained in:
tegwick 2026-08-11 02:31:55 +02:00
parent 8169102866
commit 422cd613f6
10 changed files with 404 additions and 88 deletions

View file

@ -59,9 +59,13 @@ def establish_session(request: HttpRequest, claims: IdentityClaims) -> Member:
member.last_login_at = timezone.now()
member.save()
# Stash provenance for debugging shell (no secrets)
# Stash non-secret claim provenance for account diagnostics (T07)
request.session["user_engine_source"] = link.source
request.session["user_engine_user_id"] = link.user_id
request.session["identity_groups"] = list(claims.groups)
request.session["identity_roles"] = list(claims.roles)
request.session["identity_principal_type"] = claims.principal_type or "human"
request.session["identity_assurance"] = dict(claims.assurance or {})
login(request, user, backend="django.contrib.auth.backends.ModelBackend")
return member