private async Task CheckAuth(object sender, EventArgs e)
        {
            var app = (HttpApplication)sender;
            var ctx = app.Context;

            if (Request.RawUrl.Contains("__browserLink"))
            {
                return;
            }


            if (Request.RawUrl.Contains("LogOff"))
            {
                Response.Cookies[ConfigurationManager.AppSettings["PointerTokenCookieName"]].Expires = DateTime.UtcNow.AddDays(-1);
                return;
            }

            var pointerCookie = Request.Cookies[ConfigurationManager.AppSettings["PointerTokenCookieName"]];

            if (pointerCookie == null)
            {
                return;
            }
            var tokenAuthenticity = await TokenHelper.CheckTokenAuthenticity(pointerCookie.Value);

            if (!tokenAuthenticity)
            {
                return;
            }
            var tokenCheck = await TokenHelper.CheckTokenValidTo(pointerCookie.Value);

            if (!tokenCheck)
            {
                var refreshedToken = await TokenHelper.RefreshToken(pointerCookie.Value);

                var newPointerCookie = await TokenHelper.GetPointerCookie(pointerCookie.Value);

                Response.Cookies.Add(newPointerCookie);
            }

            await TokenHelper.SetTokenForUser(pointerCookie.Value);

            return;
        }