OIDC: refuse reserved localparts at authorize; gap list in oidc-issuer.md #49
Loading…
Reference in a new issue
No description provided.
Delete branch "self/oidc-reserved-identity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Window B prerequisite (
heimdall-body:follow_up:chat-s6123-6123). Bifrost already is the MAS-shaped OIDC provider (discovery, JWKS, authorize/token/userinfo, PKCE S256, one client, claims -> Matrix-legal localpart, back-channel logout;OidcIssuerTestsalready drive the full code flow). The one missing cut that closes a takeover class: #34 refuses reserved names at creation, but rows minted before it can still hold one and there is no rename path, so/connect/authorizenow answersaccess_deniedfor them (the same 28 names as MASbanned_usernames). 8 consumer-side cases (5 reserved incl. casing, 3 look-alikes still get a code); mutating the guard fails the 5.docs/oidc-issuer.mdgets a 'Not built' section: no rate limit or pruning on/connect/*(expired OpenIddict rows are never deleted), no in-process brake, no non-member ('Users', no vote) path, and noupstream_oauth2block in gamecult-ops. No deploy.Tests: 6 userinfo/claims cases in
OidcIssuerTestsfail identically on main in this host (net8 test host rolled forward to .NET 10:PipeWriter ... does not implement UnflushedBytesin TestServer); the rest pass.🤖 Generated with Claude Code