cleanup: drop retired login and auth schema residue #308

Closed
opened 2026-05-11 19:19:07 +00:00 by barrettruth · 0 comments
Owner

Parent: #305

Problem

The app login flow is gone, but the active schema and setup scripts still imply password/TOTP/WebAuthn/recovery/session infrastructure. scripts/setup.sh still asks for a password even though the seed path no longer needs app-login credentials.

Current residue

  • users.passwordHash, totpSecret, and totpEnabled
  • webauthn_credentials
  • recovery_codes
  • sessions
  • accounts if it is only a leftover login/OAuth table rather than the Google sync provider model
  • password prompts in setup/seed scripts
  • tests that only prove removed login behavior is hidden

Solution

Collapse auth to the current single-owner/API-key contract:

  • keep only the fields needed for owner identity, API key, and provider sync ownership
  • remove password/TOTP/WebAuthn/recovery/session schema and tests that no longer correspond to a live feature
  • make setup bootstrap the owner/API key without asking for dead credentials
  • keep Google provider OAuth separate from app authentication

Acceptance criteria

  • Setup no longer asks for an unused password.
  • Active schema no longer exports retired login tables/columns.
  • Auth/core tests describe the single-owner API-key behavior, not removed login flows.
  • Google provider OAuth issues (#290, #123, #291) still have a clear token-storage path.
Parent: #305 ## Problem The app login flow is gone, but the active schema and setup scripts still imply password/TOTP/WebAuthn/recovery/session infrastructure. `scripts/setup.sh` still asks for a password even though the seed path no longer needs app-login credentials. ## Current residue - `users.passwordHash`, `totpSecret`, and `totpEnabled` - `webauthn_credentials` - `recovery_codes` - `sessions` - `accounts` if it is only a leftover login/OAuth table rather than the Google sync provider model - password prompts in setup/seed scripts - tests that only prove removed login behavior is hidden ## Solution Collapse auth to the current single-owner/API-key contract: - keep only the fields needed for owner identity, API key, and provider sync ownership - remove password/TOTP/WebAuthn/recovery/session schema and tests that no longer correspond to a live feature - make setup bootstrap the owner/API key without asking for dead credentials - keep Google provider OAuth separate from app authentication ## Acceptance criteria - Setup no longer asks for an unused password. - Active schema no longer exports retired login tables/columns. - Auth/core tests describe the single-owner API-key behavior, not removed login flows. - Google provider OAuth issues (#290, #123, #291) still have a clear token-storage path.
barrettruth added this to the v0.1.0 milestone 2026-05-11 19:19:07 +00:00
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
barrettruth/delta#308
No description provided.