code: def global_logout(self, name_id, reason="", expire=None, sign=None,
                        sign_alg=None, digest_alg=None):
          
  
          if isinstance(name_id, six.string_types):
              name_id = decode(name_id)
  
          logger.info("logout request for: %s", name_id)
  
          # find out which IdPs/AAs I should notify
          entity_ids = self.users.issuers_of_info(name_id)
          return self.do_logout(name_id, entity_ids, reason, expire, sign,
                                sign_alg=sign_alg, digest_alg=digest_alg)
docs: More or less a layer of indirection :-/
          Bootstrapping the whole thing by finding all the IdPs that should
          be notified.
  
          :param name_id: The identifier of the subject that wants to be
              logged out.
          :param reason: Why the subject wants to log out
          :param expire: The latest the log out should happen.
              If this time has passed don't bother.
          :param sign: Whether the request should be signed or not.
              This also depends on what binding is used.
          :return: Depends on which binding is used:
              If the HTTP redirect binding then a HTTP redirect,
              if SOAP binding has been used the just the result of that
              conversation.