-
Notifications
You must be signed in to change notification settings - Fork 0
Where you're logged in UI + session revocation #205
Copy link
Copy link
Closed
Labels
area:adminNext.js admin appNext.js admin apparea:authAuthentication & authorizationAuthentication & authorizationgood-first-issueSuited to first-time contributorsSuited to first-time contributorsphase:P1-cms-corePhase 1 — CMS CorePhase 1 — CMS Corepriority:P1Important — should land in phaseImportant — should land in phaseskill:goGo programmingGo programmingskill:reactReact / Next.jsReact / Next.jsskill:tsTypeScriptTypeScripttype:featNew feature or implementation taskNew feature or implementation task
Milestone
Metadata
Metadata
Assignees
Labels
area:adminNext.js admin appNext.js admin apparea:authAuthentication & authorizationAuthentication & authorizationgood-first-issueSuited to first-time contributorsSuited to first-time contributorsphase:P1-cms-corePhase 1 — CMS CorePhase 1 — CMS Corepriority:P1Important — should land in phaseImportant — should land in phaseskill:goGo programmingGo programmingskill:reactReact / Next.jsReact / Next.jsskill:tsTypeScriptTypeScripttype:featNew feature or implementation taskNew feature or implementation task
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Build the "Where you're logged in" UI per doc 06 §5.3. The admin page
/me/sessionslists active sessions with device, browser, IP (CIDR-truncated for display:203.0.113.0/24shown, full IP on hover), last seen, current?, and a Revoke button. A "Log out everywhere" button revokes all sessions including the current one. Revoke =DEL session:<sid_hash>plus an insert intorevoked_sessionsfor audit.Design reference
Acceptance criteria
GET /api/v1/me/sessionsreturns active sessions with device_label, browser, IP, last_seen_at, current_flagDELETE /api/v1/me/sessions/{id}revokes a single sessionDELETE /api/v1/me/sessionsrevokes all sessions for the user (including current); responds and instructs the client to clear cookie/me/sessionspage in admin renders the list with the truncated-IP display and full-IP-on-hover behaviorDependencies
Depends on Session store, Users admin (linked from the profile Sessions tab).
Complexity
S