'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.'

def global_logout(self, name_id, reason='', expire=None, sign=None):

    if isinstance(name_id, basestring):
        name_id = decode(name_id)
    logger.info(('logout    request    for:    %s' % name_id))
    entity_ids = self.users.issuers_of_info(name_id)
    return self.do_logout(name_id, entity_ids, reason, expire, sign)
