        let query = "?\(client.parametersToQueryString(params: apiParams))"
        let url = URL(string: client.endPoint + apiPath + query)!
        let callbackScheme = "appwrite-callback-\(client.config["project"] ?? "")"

        _ = try await withCheckedThrowingContinuation { continuation in
            /// main thread for PresentationContextProvider
            DispatchQueue.main.async {
                WebAuthComponent.authenticate(url: url, callbackScheme: callbackScheme) { result in
                    continuation.resume(with: result)
                }
            }
        }

        return true
