fix(#168): no Basic challenge for browser fetches (any auth mode) + wizard → /setup #169

Merged
Cordy merged 7 commits from fix-basic-challenge into main 2026-08-10 00:00:09 +00:00
Owner

The global popup hazard Nikola asked about, fixed at the one chokepoint: auth.Middleware answers browser subresource requests (Sec-Fetch-Mode present and not navigate) with a plain JSON 401 and no challenge header, before any provider Challenge runs. Navigations keep the branded/IdP redirects, WebDAV keeps Basic. Three tests pin the routing (fetch suppressed, navigate passes through, no-Sec-Fetch passes through).

Plus the wizard restart handover to /setup (first-run admin creation is the operator's actual next step; /setup self-forwards to /login when not pending). CHANGELOG v0.5.7.

The global popup hazard Nikola asked about, fixed at the one chokepoint: `auth.Middleware` answers browser subresource requests (`Sec-Fetch-Mode` present and not `navigate`) with a plain JSON 401 and no challenge header, before any provider `Challenge` runs. Navigations keep the branded/IdP redirects, WebDAV keeps Basic. Three tests pin the routing (fetch suppressed, navigate passes through, no-Sec-Fetch passes through). Plus the wizard restart handover to `/setup` (first-run admin creation is the operator's actual next step; `/setup` self-forwards to `/login` when not pending). CHANGELOG v0.5.7.
Cordy merged commit 97aa3d25bd into main 2026-08-10 00:00:09 +00: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: Cordy/Cairn#169
No description provided.