(users, encrypt=None, realm=None)
return False
If an authorization header contains credentials, return True or False.
If an authorization header contains credentials, return True or False.
If an authorization header contains credentials return True or False .
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
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