Skip to content

feat(no-access): sign-out form for users with no MP security role - #55

Merged
chriskehayias merged 1 commit into
devfrom
feat/no-access-sign-out
Oct 10, 2026
Merged

chriskehayias merged 1 commit into
devfrom
feat/no-access-sign-out

Conversation

@chriskehayias

Copy link
Copy Markdown
Contributor

Sign-in isn't role-gated, so a user with no MP security role gets a session and lands on /no-access. With UserMenu removed (#54), nothing let them end that session before the 12-hour limit.

  • /no-access now has a Sign out form wired to handleSignOut, the same pattern as /session-error. The page stays dynamic because it renders under AuthWrapper, so the CSP nonce is present.
  • Added a test that pins the submit button and form.
  • Updated the docs (security, oauth-flow, the sign-out call graph, shared-actions README, README) to name both sign-out forms.

Verified against a production build with the CSP enforced. Clicking Sign out on /no-access went to MP's logout page, back to the app, through /signin, and stopped at the MP login prompt, so both sessions ended. No CSP violations. lint, typecheck and test:coverage pass.

🤖 Generated with Claude Code

Sign-in is not role-gated, so a role-less user has a session but, with the
UserMenu gone, no way to end it short of the 12 h lifetime. /no-access now
carries the same `handleSignOut` form as /session-error. Walked against a
production build with the enforced CSP: MP logout, back to /signin, MP login
prompt, zero violations. Docs updated.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@chriskehayias
chriskehayias merged commit 6156668 into dev Oct 10, 2026
2 checks passed
@chriskehayias
chriskehayias deleted the feat/no-access-sign-out branch October 10, 2026 19:01
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