public override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            string token = JWT.GetJwtInHeader(context.HttpContext.Request.Headers);

            if (string.IsNullOrWhiteSpace(token))
            {
                context.Result = new RedirectResult($"/api/errors/401");
                return(base.OnActionExecutionAsync(context, next));
            }
            List <Claim> claimsList = JWT.GetClaims(token).ToList();

            if (!CheckJWTClaims(claimsList) || !CheckAccount(claimsList))
            {
                context.Result = new RedirectResult($"/api/errors/401");
                return(base.OnActionExecutionAsync(context, next));
            }

            return(base.OnActionExecutionAsync(context, next));
        }