code: def GetAuth(self):
          '''Return a tuple containing client authentication data.
          '''
          if self.auth: return self.auth
          for elt in self.ps.GetMyHeaderElements():
              if elt.localName == 'BasicAuth' \
              and elt.namespaceURI == ZSI_SCHEMA_URI:
                  d = _auth_tc.parse(elt, self.ps)
                  self.auth = (AUTH.zsibasic, d['Name'], d['Password'])
                  return self.auth
          ba = self.environ.get('HTTP_AUTHENTICATION')
          if ba:
              ba = ba.split(' ')
              if len(ba) == 2 and ba[0].lower() == 'basic':
                  ba = _b64_decode(ba[1])
                  self.auth = (AUTH.httpbasic,) + tuple(ba.split(':'))
                  return self.auth
          self.auth = (AUTH.none,)
          return self.autf GetAuth(self):
          '''Return a tuple containing client authentication data.
          '''
          if self.auth: return self.auth
          for elt in self.ps.GetMyHeaderElements():
              if elt.localName == 'BasicAuth' \
              and elt.namespaceURI == ZSI_SCHEMA_URI:
                  d = _auth_tc.parse(elt, self.ps)
                  self.auth = (AUTH.zsibasic, d['Name'], d['Password'])
                  return self.auth
          ba = self.environ.get('HTTP_AUTHENTICATION')
          if ba:
              ba = ba.split(' ')
              if len(ba) == 2 and ba[0].lower() == 'basic':
                  ba = _b64_decode(ba[1])
                  self.auth = (AUTH.httpbasic,) + tuple(ba.split(':'))
                  return self.auth
          self.auth = (AUTH.none,)
          return self.auth
docs: Return a tuple containing client authentication data.