public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { var httpContext = context.HttpContext; if (httpContext.Request.Cookies.TryGetValue("token", out var tokenId)) { if (_tokenService.Check(tokenId)) { await next(); return; } } httpContext.Response.Cookies.Append("returnUrl", httpContext.Request.Path); context.Result = new RedirectToActionResult("Index", "Login", null); // httpContext.Response.Redirect("/login"); }
public IActionResult Auth() { if (HttpContext.Request.Cookies.TryGetValue("returnUrl", out var returnUrl)) { HttpContext.Response.Cookies.Delete("returnUrl"); } if (HttpContext.Request.Cookies.TryGetValue("token", out var tokenId)) { if (_tokenService.Check(tokenId)) { return(Redirect(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "/test")); } HttpContext.Response.Cookies.Delete("token"); } var token = _tokenService.Create(); HttpContext.Response.Cookies.Append("token", token); return(Redirect(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "/test")); }