def METHOD_NAME(self, request: PipelineRequest, response: "PipelineResponse") -> bool:
    try:
        challenge = _update_challenge(request, response)
        # azure-identity credentials require an AADv2 scope but the challenge may specify an AADv1 resource
        scope = challenge.get_scope() or challenge.get_resource() + "/.default"
    except ValueError:
        return False
    if self._verify_challenge_resource:
        resource_domain = urlparse(scope).netloc
        if not resource_domain:
            raise ValueError(f"The challenge contains invalid scope '{scope}'.")
        request_domain = urlparse(request.http_request.url).netloc
        if not request_domain.lower().endswith(f".{resource_domain.lower()}"):
            raise ValueError(
                f"The challenge resource '{resource_domain}' does not match the requested domain. Pass "
                "`verify_challenge_resource=False` to your client's constructor to disable this verification. "
                "See https://aka.ms/azsdk/blog/vault-uri for more information."
            )
    body = request.context.pop("key_vault_request_data", None)
    request.http_request.set_text_body(body)  # no-op when text is None
    # The tenant parsed from AD FS challenges is "adfs"; we don't actually need a tenant for AD FS authentication
    # For AD FS we skip cross-tenant authentication per https://github.com/Azure/azure-sdk-for-python/issues/28648
    if challenge.tenant_id and challenge.tenant_id.lower().endswith("adfs"):
        self.authorize_request(request, scope)
    else:
        self.authorize_request(request, scope, tenant_id=challenge.tenant_id)
    return True