public static async Task <string> Authenticate( [ActivityTrigger] DurableActivityContext ctx, TraceWriter log) { var credentials = ctx.GetInput <string>(); var browser = await Puppeteer.ConnectAsync(new ConnectOptions { BrowserWSEndpoint = Constants.BrowserWSEndpoint }); var page = await browser.NewPageAsync(); var login = new UIAction.Login(); CookieParam[] cookies = null; cookies = await login.RunAsync(page, log); // page is closed implicitly try { browser.Disconnect(); } catch { } if (cookies != null) { return(CookieConverter.EncodeCookie(cookies)); } throw new Exception("Failed to authenticate."); }