Skip to content

End a session from the shell #97

Description

@kanushka

What to build

A user can end their session from the shell.

The shell establishes a session at login and has no command that ends one. Until now the shell command reference listed a logout command anyway, and the login guide noted that it was proposed and not in the release; #94 removes the incorrect listing. This issue is the command itself.

Ending a session means more than forgetting a local credential, which is why this is not a small change and is deliberately not part of the module lifecycle work in #92. What the shell does at the issuer is now decided and recorded in ADR 0010: logout asks the issuer to revoke the refresh token per RFC 7009 when the deployment advertises a revocation_endpoint, removes the shell-owned session either way, and reports which of the two actually happened. Whether a session can be ended for one product without ending it for others stays open in #43, which does not block this command, because a session is keyed by identity today and one logout ends one session.

Acceptance criteria

  • It is decided and recorded whether ending a session revokes at the issuer or only removes the shell-owned session, and what happens when revocation fails.
  • A user can end the active session from the shell.
  • After ending a session, a command that needs authentication is refused with the guidance that names how to log in again.
  • Ending a session when none is active is not an error a user has to interpret.
  • No token material reaches any output surface.
  • The shell command reference documents the command.

Blocked by

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type/New FeatureRepresents a request or task for a new featureneeds-triageMaintainer needs to evaluate this issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions