To receive authorization, the client
1. obtains the user-id and password from the user,
2. constructs the user-pass by concatenating the user-id, a single
colon (":") character, and the password,
3. encodes the user-pass into an octet sequence (see below for a
discussion of character encoding schemes),
4. and obtains the basic-credentials by encoding this octet sequence
using Base64 ([[RFC4648], Section 4](https://tools.ietf.org/html/rfc4648#section-4)) into a sequence of US-ASCII
characters ([[RFC0020](https://tools.ietf.org/html/rfc0020)]).
The password can be empty, but it’s required, period.