Skip to content

Require local client authentication for Light HTTP endpoints - #1

Merged
whiteOvis merged 1 commit into
mainfrom
fix/local-client-authentication
Oct 9, 2026
Merged

whiteOvis merged 1 commit into
mainfrom
fix/local-client-authentication

Conversation

@whiteOvis

Copy link
Copy Markdown
Owner

Light's loopback HTTP service previously trusted any native local caller once the daemon owner had signed into YouVersion. Another local UID could retrieve private study backups. This addresses the moderator's finding in omacom/omarchy-plugin-marketplace#10702 (comment).

Every endpoint now requires an independent random client credential, checked before account access. The daemon rotates it at startup and writes a curl header file with mode 0600 inside the private 0700 state directory. The widget reads the header file directly, keeps the credential out of process arguments, and restricts service URLs to loopback. Existing Host/Origin checks remain in place.

Validation: all 88 Node test checks pass, including missing/incorrect client credentials and daemon credential rotation/permissions; JavaScript syntax checks and qmllint pass. Installed locally and confirmed unauthenticated backup access returns 401 while authenticated health access returns 200.

@whiteOvis
whiteOvis marked this pull request as ready for review October 9, 2026 16:54
@whiteOvis
whiteOvis merged commit 9246fa9 into main Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant