// Config defines the config for middleware.
// Next defines a function to skip this middleware when returned true.
// Optional. Default: nil
Next func(c *fiber.Ctx) bool
// Users defines the allowed credentials
// Required. Default: map[string]string{}
// Realm is a string to define realm attribute of BasicAuth.
// the realm identifies the system to authenticate against
// and can be used by clients to save credentials
// Optional. Default: "Restricted".
// Authorizer defines a function you can pass
// to check the credentials however you want.
// It will be called with a username and password
// and is expected to return true or false to indicate
// that the credentials were approved or not.
// Optional. Default: nil.
Authorizer func(string, string) bool
// Unauthorized defines the response body for unauthorized responses.
// By default it will return with a 401 Unauthorized and the correct WWW-Auth header
// Optional. Default: nil
Unauthorized fiber.Handler
// ContextUser is the key to store the username in Locals
// Optional. Default: "username"
// ContextPass is the key to store the password in Locals
// Optional. Default: "password"