Beispiel #1
0
        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");
        }
Beispiel #2
0
        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"));
        }