docs: def authorizer(self, schemes, resource, action, request_args):
          """Construct the Authorization header for a request.
  
          Args:
            schemes (list of str): Authentication schemes supported for the
              requested action.
            resource (str): Object upon which an action is being performed.
            action (str): Action being performed.
            request_args (list of str): Arguments passed to the action call.
  
          Returns:
            (str, str) A tuple of the auth scheme satisfied, and the credential
              for the Authorization header or empty strings if none could be
              satisfied.
          """
          if not schemes:
              return u'', u''
          for scheme in schemes:
              if scheme in self.schemes and self.has_auth_params(scheme):
                  cred = Context.format_auth_params(self.schemes[scheme][u'params'])
                  if hasattr(self, 'mfa_token'):
                      cred = '{}, mfa_token="{}"'.format(cred, self.mfa_token)
                  return scheme, cred
  
          raise AuthenticationError(self, schemes)