public override void OnActionExecuting(ActionExecutingContext filterContext) { var req = filterContext.RequestContext.HttpContext.Request; var accessTokenCookie = req.Cookies["BlazeAT"]; string accessToken = null; if (accessTokenCookie == null) { var refreshTokenCookie = req.Cookies["BlazeRT"]; if (refreshTokenCookie != null && !string.IsNullOrEmpty(refreshTokenCookie.Value)) { log.Info("Attempting to refresh oauth token"); try { var tokens = oAuthService.RefreshTokens(refreshTokenCookie.Value); tokens.RefreshToken = refreshTokenCookie.Value; oAuthService.AssignCookies(tokens, filterContext.RequestContext.HttpContext.Response); accessToken = tokens.AccessToken; } catch (Exception ex) { log.ErrorException("Error refreshing oauth token using value: " + refreshTokenCookie.Value, ex); filterContext.Result = new RedirectResult(oAuthService.GetLoginUrl()); } } else { if (Required) { filterContext.Result = new RedirectResult(oAuthService.GetLoginUrl()); } } } else { accessToken = accessTokenCookie.Value; } if (filterContext.ActionParameters.ContainsKey("auth")) { filterContext.ActionParameters["auth"] = accessToken; } }