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; }