Protocol A extension proposal: login tokens with limited scope #138

Open
opened 2026-10-19 02:53:25 +00:00 by littlefox · 1 comment
Owner

From #135 (2026-10-19), the user: "This is a massive limitation of Protocol A. I want to file this away for a rainy day when I can think about drafting some proposals for extentions of the protocol".

The limitation: Protocol A's only way to log in is person + password. Anything that should act for someone later (push notifications, #135; staying logged in, D-032; a relay holding a session) has to hold the password or keep a live session.

Notes for a future proposal, not a plan:

  • Limited tokens. The server issues a token for a session, revocable and expiring, and a later login can use it instead of the password.
  • Scopes. A token that can only watch ("new text" and "message" events, text-stat, subject) and can't write, mark read or change memberships. A push service would hold that.
  • Listing and revoking. The person can list and revoke their tokens, from any client.
  • Sessions in "who is on". A way for watch-only sessions not to show there, beyond today's invisible login.
  • Compatibility. Old servers must keep working: the client asks, and falls back to today's behaviour.

The vendored lyskomd (lyskom-server/) is where a reference implementation would go, if it gets that far. Changes there are deliberate and noted in DECISIONS.

Kept for later; not in any milestone.

From #135 (2026-10-19), the user: "This is a massive limitation of Protocol A. I want to file this away for a rainy day when I can think about drafting some proposals for extentions of the protocol". The limitation: Protocol A's only way to log in is person + password. Anything that should act for someone later (push notifications, #135; staying logged in, D-032; a relay holding a session) has to hold the password or keep a live session. Notes for a future proposal, not a plan: - **Limited tokens.** The server issues a token for a session, revocable and expiring, and a later login can use it instead of the password. - **Scopes.** A token that can only watch ("new text" and "message" events, text-stat, subject) and can't write, mark read or change memberships. A push service would hold that. - **Listing and revoking.** The person can list and revoke their tokens, from any client. - **Sessions in "who is on".** A way for watch-only sessions not to show there, beyond today's invisible login. - **Compatibility.** Old servers must keep working: the client asks, and falls back to today's behaviour. The vendored lyskomd (`lyskom-server/`) is where a reference implementation would go, if it gets that far. Changes there are deliberate and noted in DECISIONS. Kept for later; not in any milestone.
Author
Owner

Parked until further notice (D-069). No work planned on it until that changes.

Parked until further notice (D-069). No work planned on it until that changes.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#138
No description provided.