Skip to content

feat: add versioned application principal scopes - #206

Merged
windischb merged 2 commits into
developfrom
codex/app-principal-scope
Aug 18, 2026
Merged

feat: add versioned application principal scopes#206
windischb merged 2 commits into
developfrom
codex/app-principal-scope

Conversation

@windischb

Copy link
Copy Markdown
Contributor

Summary

  • derive each Application's Principal scope from active Group.BoundTo roots and their transitive members across Person, Position, Service Account, and Group
  • expose a versioned full-read endpoint protected by app-scope:read, with bearer callers restricted to their OAuth client's explicit AppIds
  • keep scope-definition versions stable across ordinary member/profile changes while changing them for roots, nested group structure, and automatic-membership predicates
  • sync Position changes through automatic group membership and document the general consumer contract
  • mark groups without roles as "No permissions" in the admin UI without storing another flag

Verification

  • dotnet build Modgud.slnx --no-restore
  • dotnet build Modgud.Api.Tests/Modgud.Api.Tests.csproj --no-restore
  • targeted scope and auto-membership unit tests: 36 passed
  • vue-tsc --build
  • vite build
  • git diff --check

@windischb
windischb merged commit e0ac4e4 into develop Aug 18, 2026
8 checks passed
@windischb
windischb deleted the codex/app-principal-scope branch August 18, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant