Allow HTTP basic auth when authentication enabled
- Dominant language
- Go
- Stars
- 37.1k
- Forks
- 1.5k
- Avg merge
- 1h 11m
- Merged PRs (30d)
- 1
Description
### Description
Currently, when a user enables authentication in settings, unauthenticated users are presented with a form to log in with. This is useful to prevent leaking sensitive information when using more private widgets on the dashboard.
However, when using non-interactive methods of displaying the dashboard, e.g. Wallpaper Engine, it's not possible to fill in this form to properly authenticate.
As a solution, I'd suggest allowing credentials to be provided via HTTP basic authentication. This would allow optionally providing the credentials directly in the URL, meaning that it can be used in these non-interactive contexts.
I can't see any particular additional security implications from this, but it might make sense to have this as an optional key under the existing authentication config so that it's only enabled for those who may need it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the existing authentication settings and login flow. Define how an optional authentication setting enables HTTP Basic Authentication for non-interactive dashboard requests while preserving the current form-based behavior; done means configured credentials can authenticate those requests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100