I’m wondering if the Basic-Auth “pseudo-header” that can be set via a _headers override file can contain spaces. I have a number of users who prefer usernames and passwords that contain spaces, but I haven’t been able to provide these in the _headers override file without running into syntax errors during a Netlify build.
Example _headers file that doesn’t work:
/*
Basic-Auth: my username:my pass with spaces
If I collapse the username and password to not include any spaces, the _headers file works just fine:
/*
Basic-Auth: myusername:mypasswithspaces
I have tried quoting this pair in various ways, but haven’t been able to get things working.
Using Basic Auth you might access a site https://user:password@example.com so having https://test user:test password@example.com will translate to https://test%20user:test%20password@example.com (use of such URLs is deprecated now too.)
However, like you, I cannot get anything like that working via using escaping, quoting, etc. I cannot say if this is by design, a bug, or otherwise, in Netlify’s case. I did find open tickets with others here and here both of which are from May 2019.
Keeping in mind that
Basic authentication does not encrypt access credentials or provide a method for user-initiated logout.
—Source: Secure access to sites | Netlify Docs