Authentication configuration.
HTTP Basic authentication.
Bearer token authentication.
Custom authentication header.
@type basic() :: %{type: :basic, username: String.t(), password: String.t()}
@type bearer() :: %{type: :bearer, token: String.t()}
@type header() :: %{type: :header, name: String.t(), value: String.t()}
@type t() :: term()