public async Task <IActionResult> Logout()
        {
            string key = Request.Cookies["coflows"];

            if (key != null)
            {
                var outk = "";
                if (sessionKeys.ContainsKey(key))
                {
                    sessionKeys.Remove(key, out outk);
                }

                var _outk = "";
                if (revSessionKeys.ContainsKey(outk))
                {
                    revSessionKeys.Remove(outk, out _outk);
                }
            }

            Response.Cookies.Delete("coflows");
            Response.Cookies.Append("coflows", "", new CookieOptions()
            {
                Expires = DateTime.Now.AddMonths(-24)
            });

            try
            {
                string userName = this.User.QID();
                if (userName != null)
                {
                    QuantApp.Kernel.User quser = QuantApp.Kernel.User.FindUser(userName);
                    quser.SetSecure(false);
                }
            }
            finally
            {
                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
            }



            return(Ok());
        }
        public async Task <IActionResult> Logout()
        {
            try
            {
                string userName = this.User.QID();
                if (userName != null)
                {
                    QuantApp.Kernel.User quser = QuantApp.Kernel.User.FindUser(userName);
                    quser.SetSecure(false);
                }
            }
            finally
            {
                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
            }

            Response.Cookies.Delete("coflows");

            return(Ok());
        }