Exemple #1
0
        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.");
        }