Enforce external identity for Ghost Admin sessions #47
Labels
No labels
area/core
area/integration
area/release
security
type/bug
type/docs
type/epic
type/feature
type/infrastructure
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#48 Make SSO session exchange fail closed
frank/ghost-oauth
#49 Add configurable strict SSO session handling
frank/ghost-oauth
#50 Reconcile external identity on Admin API requests
frank/ghost-oauth
Reference
frank/ghost-oauth#47
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Make the configured SSO adapter authoritative for browser-based Ghost Admin sessions.
Ghost must reject or clear an existing session when the current external identity is missing, unauthorized, unknown, or different from the session user.
Problem
Ghost currently exchanges SSO credentials for a Ghost session before serving
/ghost. When the credentials map to a valid Ghost staff user, Ghost assigns that user to the session.When credentials are missing, invalid, unauthorized, or do not map to a Ghost user, the SSO middleware falls through without clearing an existing Ghost session. A different external user can therefore reuse a previous user’s Ghost session in the same browser.
Browser-authenticated Admin API requests must also reconcile the external identity before accepting the Ghost session cookie.
Sub-tasks
Acceptance criteria
Scope
This epic covers session validation and external-identity reconciliation.
Coordinated logout between Ghost and the external identity provider is handled separately.