async def METHOD_NAME(self, request: PipelineRequest, response: PipelineResponse) -> bool:
    """Authorize request according to an authentication challenge
    This method is called when the resource provider responds 401 with a WWW-Authenticate header.
    :param ~azure.core.pipeline.PipelineRequest request: the request which elicited an authentication challenge
    :param ~azure.core.pipeline.PipelineResponse response: the resource provider's response
    :returns: a bool indicating whether the policy should send the request
    :rtype: bool
    """
    if not self._discover_tenant and not self._discover_scopes:
        # We can't discover the tenant or use a different scope; the request will fail because it hasn't changed
        return False
    try:
        challenge = _HttpChallenge(response.http_response.headers.get("WWW-Authenticate"))
        # azure-identity credentials require an AADv2 scope but the challenge may specify an AADv1 resource
        # if no scopes are included in the challenge, challenge.scope and challenge.resource will both be ''
        scope = challenge.scope or challenge.resource + "/.default" if self._discover_scopes else self._scopes
        if scope == "/.default":
            scope = self._scopes
    except ValueError:
        return False
    if self._discover_tenant:
        await self.authorize_request(request, scope, tenant_id=challenge.tenant_id)
    else:
        await self.authorize_request(request, scope)
    return True