parameters: (users, encrypt=None, realm=None)
return_statement: return False
docstring: If an authorization header contains credentials, return True or False.
docstring_summary: If an authorization header contains credentials, return True or False.
docstring_tokens: If an authorization header contains credentials return True or False .
function: def check_auth(users, encrypt=None, realm=None):
      """If an authorization header contains credentials, return True or False.
      """
      import_httpauth()
      msg = (
          '`basic_auth` and `digest_auth` tools are deprecated. Use '
          '`auth_basic` and `auth_digest` instead.'
      )
      warnings.warn(msg, DeprecationWarning)
      request = cherrypy.serving.request
      if 'authorization' in request.headers:
          # make sure the provided credentials are correctly set
          ah = httpauth.parseAuthorization(request.headers['authorization'])
          if ah is None:
              raise cherrypy.HTTPError(400, 'Bad Request')
  
          if not encrypt:
              encrypt = httpauth.DIGEST_AUTH_ENCODERS[httpauth.MD5]
  
          if hasattr(users, '__call__'):
              try:
                  # backward compatibility
                  users = users()  # expect it to return a dictionary
  
                  if not isinstance(users, dict):
                      raise ValueError(
                          'Authentication users must be a dictionary')
  
                  # fetch the user password
                  password = users.get(ah['username'], None)
              except TypeError:
                  # returns a password (encrypted or clear text)
                  password = users(ah['username'])
          else:
              if not isinstance(users, dict):
                  raise ValueError('Authentication users must be a dictionary')
  
              # fetch the user password
              password = users.get(ah['username'], None)
  
          # validate the authorization by re-computing it here
          # and compare it with what the user-agent provided
          if httpauth.checkResponse(ah, password, method=request.method,
                                    encrypt=encrypt, realm=realm):
              request.login = ah['username']
              return True
  
          request.login = False
      return False
function_tokens: def check_auth ( users , encrypt = None , realm = None ) : import_httpauth ( ) msg = ( '`basic_auth` and `digest_auth` tools are deprecated. Use ' '`auth_basic` and `auth_digest` instead.' ) warnings . warn ( msg , DeprecationWarning ) request = cherrypy . serving . request if 'authorization' in request . headers : # make sure the provided credentials are correctly set ah = httpauth . parseAuthorization ( request . headers [ 'authorization' ] ) if ah is None : raise cherrypy . HTTPError ( 400 , 'Bad Request' ) if not encrypt : encrypt = httpauth . DIGEST_AUTH_ENCODERS [ httpauth . MD5 ] if hasattr ( users , '__call__' ) : try : # backward compatibility users = users ( ) # expect it to return a dictionary if not isinstance ( users , dict ) : raise ValueError ( 'Authentication users must be a dictionary' ) # fetch the user password password = users . get ( ah [ 'username' ] , None ) except TypeError : # returns a password (encrypted or clear text) password = users ( ah [ 'username' ] ) else : if not isinstance ( users , dict ) : raise ValueError ( 'Authentication users must be a dictionary' ) # fetch the user password password = users . get ( ah [ 'username' ] , None ) # validate the authorization by re-computing it here # and compare it with what the user-agent provided if httpauth . checkResponse ( ah , password , method = request . method , encrypt = encrypt , realm = realm ) : request . login = ah [ 'username' ] return True request . login = False return False