Skip to main content

Module session

Module session 

Source
Expand description

Session management for authenticated Joy operations.

Sessions are time-limited tokens stored locally in ~/.config/joy/sessions/. They prove that the user has entered their passphrase and derived the correct identity key within the configured time window.

Structs§

SessionClaims
Claims encoded in a session token.
SessionToken
A session token: claims + Ed25519 signature.

Functions§

create_session
Create a session token signed by the identity keypair.
create_session_for_ai
Create a session for an AI member, binding it to a specific token_key.
current_tty
Detect the current terminal device for session binding.
load_session
Load a session token from disk for a specific member, if it exists.
load_session_by_id
Load a session by its opaque ID (the JOY_SESSION value).
project_id
Derive a stable project ID from project name and acronym.
remove_session
Remove a session token from disk for a specific member.
save_session
Save a session token to disk.
session_id
The session ID: a short, deterministic, opaque identifier for a session. Used as JOY_SESSION environment variable (SSH-agent pattern).
validate_session
Validate a session token against a public key and project ID.