docs: refresh auth docs for Bunyip-SSO-only (LC-22) + document dev-web SSO setup #364

Merged
longjacksonle merged 1 commit from docs/dev-web-bunyip-sso-setup into main 2026-06-19 04:01:49 +02:00

Why

After the LC-22 pure-RP Bunyip cutover, several docs still described the retired local-auth model (registration, username/password login, password reset, email verification, 2FA/TOTP). They are now wrong, and the just dev-web SSO setup was undocumented (it cost a long debugging session to rediscover). This brings the docs in line with reality.

Changes (docs only)

  • README.md
    • Feature list: SSO is the sole auth path; no local auth/2FA.
    • Docker quick start: sets the four mandatory LETS_CHAT_BUNYIP_SSO_* vars; first SSO user becomes Admin.
    • Env table: adds the SSO vars + dev-only LETS_CHAT_BUNYIP_SSO_INSECURE_TLS; drops 2FA/password-reset framing from LETS_CHAT_SECRET_KEY and LETS_CHAT_BASE_URL.
    • LETS_CHAT_SECRET_KEY section: drops the 2FA recovery notes (now Web Push + sealed IMAP password).
    • Digest section: email comes from the SSO email claim; no password-reset/email-verification flow.
    • Local Development: new just dev-web prerequisites (register a lets-chat OIDC client on the dev Bunyip OP with the per-developer dev redirect; add ${USER}-chat.a8n.run to /etc/hosts so it resolves over the Nebula overlay).
  • .env.standalone: Bunyip SSO preamble; required LETS_CHAT_BUNYIP_SSO_* section + dev-only insecure-TLS flag; SMTP re-framed as digest + mention/DM notifications.
  • CLAUDE.md: Auth & Sessions describes SSO-only + first-SSO-user promotion; LETS_CHAT_SECRET_KEY row drops TOTP; the test-harness enforce_2fa_enrollment / totp_enabled = 1 gotcha marked a retired no-op (middleware deleted), legacy totp_* columns noted as still present.
  • docs/email-ingress.md: corrects the "existing email surfaces" list.

No code or behavior change.

## Why After the LC-22 pure-RP Bunyip cutover, several docs still described the retired local-auth model (registration, username/password login, password reset, email verification, 2FA/TOTP). They are now wrong, and the `just dev-web` SSO setup was undocumented (it cost a long debugging session to rediscover). This brings the docs in line with reality. ## Changes (docs only) - **README.md** - Feature list: SSO is the sole auth path; no local auth/2FA. - Docker quick start: sets the four mandatory `LETS_CHAT_BUNYIP_SSO_*` vars; first SSO user becomes Admin. - Env table: adds the SSO vars + dev-only `LETS_CHAT_BUNYIP_SSO_INSECURE_TLS`; drops 2FA/password-reset framing from `LETS_CHAT_SECRET_KEY` and `LETS_CHAT_BASE_URL`. - `LETS_CHAT_SECRET_KEY` section: drops the 2FA recovery notes (now Web Push + sealed IMAP password). - Digest section: email comes from the SSO `email` claim; no password-reset/email-verification flow. - Local Development: new `just dev-web` prerequisites (register a lets-chat OIDC client on the dev Bunyip OP with the per-developer dev redirect; add `${USER}-chat.a8n.run` to `/etc/hosts` so it resolves over the Nebula overlay). - **.env.standalone**: Bunyip SSO preamble; required `LETS_CHAT_BUNYIP_SSO_*` section + dev-only insecure-TLS flag; SMTP re-framed as digest + mention/DM notifications. - **CLAUDE.md**: Auth & Sessions describes SSO-only + first-SSO-user promotion; `LETS_CHAT_SECRET_KEY` row drops TOTP; the test-harness `enforce_2fa_enrollment` / `totp_enabled = 1` gotcha marked a retired no-op (middleware deleted), legacy `totp_*` columns noted as still present. - **docs/email-ingress.md**: corrects the "existing email surfaces" list. No code or behavior change.
docs: refresh auth docs for Bunyip-SSO-only (LC-22) + document dev-web SSO setup
All checks were successful
check-secrets / TruffleHog (pull_request) Successful in 4s
check-secrets / Nosey parker (pull_request) Successful in 6s
check-secrets / Kingfisher (push) Successful in 4s
check-secrets / TruffleHog (push) Successful in 4s
check-secrets / Nosey parker (push) Successful in 4s
check-secrets / Kingfisher (pull_request) Successful in 4s
Create release / Create release from merged PR (pull_request) Has been skipped
Check / clippy + fmt + tests (pull_request) Successful in 5m3s
7e57e54c79
The README, .env.standalone, CLAUDE.md, and docs/email-ingress.md still described the pre-LC-22 local-auth model (registration, username/password login, password reset, email verification, 2FA/TOTP), none of which exist after the pure-RP Bunyip cutover. Bring them in line with reality and capture the dev-web SSO setup that was undocumented.

README: feature list now states SSO is the sole auth path (no local auth/2FA); the Docker quick start sets the four mandatory `LETS_CHAT_BUNYIP_SSO_*` vars and notes the first SSO user becomes Admin; the env table adds the SSO vars and the dev-only insecure-TLS flag and drops 2FA/password-reset framing from `LETS_CHAT_SECRET_KEY` and `LETS_CHAT_BASE_URL`; the `LETS_CHAT_SECRET_KEY` section drops the 2FA recovery notes; the digest section drops password-reset/email-verification references (email now comes from the SSO `email` claim). Local Development gains a `just dev-web` prerequisites block: register a lets-chat OIDC client on the dev Bunyip OP with the per-developer dev redirect, and add `${USER}-chat.a8n.run` to `/etc/hosts` so the browser resolves it over the Nebula overlay.

.env.standalone: replaces the local-auth preamble with the Bunyip SSO model, adds a required `LETS_CHAT_BUNYIP_SSO_*` section plus the dev-only insecure-TLS flag, and re-frames SMTP as digest + mention/DM notifications (no password-reset mail).

CLAUDE.md: Auth & Sessions now describes SSO-only auth and first-SSO-user promotion; the `LETS_CHAT_SECRET_KEY` row drops TOTP; the test-harness gotcha marks the `enforce_2fa_enrollment` / `totp_enabled = 1` workaround as a retired no-op (the middleware was deleted) while noting the legacy `totp_*` columns persist.

docs/email-ingress.md: corrects the "existing email surfaces" list to the mail surfaces that still exist.

Docs only; no code or behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
longjacksonle deleted branch docs/dev-web-bunyip-sso-setup 2026-06-19 04:01:49 +02:00
Sign in to join this conversation.
No reviewers
No labels
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
psa-systems/lets-chat!364
No description provided.