code: def authenticated(self, environ, username=None, password=None, **params):
          '''Called by the server to check if client is authenticated.'''
          if username != self.username:
              return False
          o = self.options
          qop = o.get('qop')
          method = environ['REQUEST_METHOD']
          uri = environ.get('PATH_INFO', '')
          ha1 = self.ha1(o['realm'], password)
          ha2 = self.ha2(qop, method, uri)
          if qop is None:
              response = hexmd5(":".join((ha1, self.nonce, ha2)))
          elif qop == 'auth' or qop == 'auth-int':
              response = hexmd5(":".join((ha1, o['nonce'], o['nc'],
                                          o['cnonce'], qop, ha2)))
          else:
              raise ValueError("qop value are wrong")
          return o['response'] == responsf authenticated(self, environ, username=None, password=None, **params):
          '''Called by the server to check if client is authenticated.'''
          if username != self.username:
              return False
          o = self.options
          qop = o.get('qop')
          method = environ['REQUEST_METHOD']
          uri = environ.get('PATH_INFO', '')
          ha1 = self.ha1(o['realm'], password)
          ha2 = self.ha2(qop, method, uri)
          if qop is None:
              response = hexmd5(":".join((ha1, self.nonce, ha2)))
          elif qop == 'auth' or qop == 'auth-int':
              response = hexmd5(":".join((ha1, o['nonce'], o['nc'],
                                          o['cnonce'], qop, ha2)))
          else:
              raise ValueError("qop value are wrong")
          return o['response'] == response
docs: Called by the server to check if client is authenticated.