Enable MAS local password login for terminal client (iamb) #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Enable local password login in MAS so a terminal Matrix client (iamb) can authenticate. Currently MAS is SSO-only (
passwords.enabled: false, delegating to Authentik viaupstream_oauth2), and legacy/_matrix/client/v3/loginreturnsM_UNRECOGNIZED. iamb 0.0.11 has no MSC2965/OIDC support, so it cannot log in at all.Motivation
Want a terminal Matrix client on the desktop (same account as Element X on mobile,
@paul:gierz.eu). gomuks-terminal is still experimental (needs separate backend + web-only Matrix login), so iamb is the preferred TUI — but it needs a password/compat login endpoint.Proposed change
roles/mas/templates/config.yaml.j2(~line 56): (compatlistener resource is already enabled, so no listener change needed.)ansible-playbook playbooks/mas.yml(hostgierz-services).Tradeoff / decision needed
This adds a parallel local-password path alongside Authentik for the same account — two credential routes into
@paul. Security posture changes: the SSO-only guarantee is relaxed. Consider:password_registration_enabled: false/password_recovery_enabled: falseas-is (already set) so only manually-set passwords work.Acceptance
mas.ymldeployed@paulpassword set in MAS[p]asswordagainsthttps://gierz.eu@erwin, can you provide a summary of the current state please?
Current state (verified against
main@f66df36)MAS config (
roles/mas/templates/config.yaml.j2):passwords.enabled: false(line 56–57) — SSO-only, as designed. Header comment on line 9 documents the intent: "passwords: off (SSO only)".compatlistener resource is already in thehumanlistener's resource list (line 19), so the legacy/_matrix/client/v3/loginendpoint is served — it just rejects password login whilepasswords.enabledis false. No listener change needed, matching the issue's proposal.accountsection (lines 71–75):password_registration_enabled: false,password_recovery_enabled: false,email_change_allowed: false— all already locked down. If we flippasswords.enabled: true, only manually set passwords (viamas-cli manage set-password) would work; no self-service path opens up.upstream_oauth2→ Authentik remains the primary route (line 79), untouched by this change.No existing branch touches this — nothing matching
mas/iamb/passwordin the worktree list.So the delta is exactly one line (
enabled: false→true) + redeploy (playbooks/mas.yml, hostgierz-services) + one manualmas-cli manage set-password paulinside themascontainer.Decision still open (acceptance box 1): relax SSO-only for
@paulvs. keep MAS pristine and go the gomuks route. My read: the blast radius is small — registration/recovery stay off, so the only new credential is one you set by hand, and it can be reverted by flipping the flag back and redeploying. The main cost is conceptual: "Authentik is the only door" stops being true for this one account.Say the word and I'll cut a branch
erwin/mas-local-passwordwith the one-line change; the deploy command stays yours to run.