@type password() :: String.t()
@type t() :: {:basic, username(), password()} | {:bearer, token()}
@type token() :: String.t()
@type username() :: String.t()