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.

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)