Skip to content

feat: add access expiration across relations with watchdog session cu…#681

Open
Raphux wants to merge 1 commit intomasterfrom
FEAT/session-expiration
Open

feat: add access expiration across relations with watchdog session cu…#681
Raphux wants to merge 1 commit intomasterfrom
FEAT/session-expiration

Conversation

@Raphux
Copy link
Copy Markdown
Contributor

@Raphux Raphux commented Jan 21, 2026

…toff

Add expires_at DateTime fields on access relation tables (target_user, target_group, tgroup_user, tgroup_group) and include Alembic migration.

Implement local-time expiration parsing with partial ISO-like inputs (year/month/day/time), and compute effective access per user by merging all access paths (direct, via usergroups, via targetgroups). Effective expiration is the latest valid date unless any path is unlimited.

Expose expiration in passhportd: include it in accessible target lists, provide user/access_expiration endpoint, and show expiration details for targets and targetgroups.

Extend passhport-admin CLI and prompts to accept --expires-at for adduser/addusergroup on targets and targetgroups, and forward it to the API.

Update passhport and connection utils to request expiration, display it in the targets list, and pass it into the connection script.

Add watchdog in passhport-connect.sh to terminate the local process group at expiration and notify passhportd; store a one-time notice so the user sees a detailed expiration message when returning to the passhport prompt.

…toff

Add expires_at DateTime fields on access relation tables (target_user,
target_group, tgroup_user, tgroup_group) and include Alembic migration.

Implement local-time expiration parsing with partial ISO-like inputs
(year/month/day/time), and compute effective access per user by merging
all access paths (direct, via usergroups, via targetgroups). Effective
expiration is the latest valid date unless any path is unlimited.

Expose expiration in passhportd: include it in accessible target lists,
provide user/access_expiration endpoint, and show expiration details for
targets and targetgroups.

Extend passhport-admin CLI and prompts to accept --expires-at for
adduser/addusergroup on targets and targetgroups, and forward it to the
API.

Update passhport and connection utils to request expiration, display it
in the targets list, and pass it into the connection script.

Add watchdog in passhport-connect.sh to terminate the local process
group at expiration and notify passhportd; store a one-time notice so
the user sees a detailed expiration message when returning to the
passhport prompt.
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