Skip to content

feat(caddy): replace basic_auth with form-based login (1Password-friendly) #130

@smartwatermelon

Description

@smartwatermelon

Problem

Caddy's external-access protection on tilsit.vip uses the basic_auth directive, which triggers the browser's native 401 pop-up. Password managers (1Password in particular) cannot auto-fill into that pop-up, so every remote session requires manually typing the credential.

Proposed solution

Rebuild the custom Caddy binary with the caddy-security plugin and switch the external block from basic_auth to a form-based authenticate / authorize flow. Session via JWT cookie. Single user, bcrypt in a local store, no MFA. The LAN-bypass matcher stays unchanged.

Implementation plan

Full scoping in docs/plans/2026-04-19-caddy-forms-auth.md — 8 tasks, ~5–6 hours wall-clock, with rollback steps.

Merged via #129.

Deliberately out of scope

  • Multi-user (single user for now)
  • MFA / TOTP
  • OIDC / OAuth federation
  • Password rotation UX

Each of these slots into caddy-security later without rearchitecting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions