Exemplo n.º 1
0
        private static bool IsAuthTokenValid(ActionFilterProperty filterProperty)
        {
            filterProperty.Get("AuthToken", out var token);
            var uri          = $"http://localhost:5003/api/v1/auth/loggedIn/{token}";
            var authResponse = new HttpClient().GetAsync(uri).Result;

            if (authResponse.StatusCode != HttpStatusCode.OK)
            {
                return(false);
            }

            var authContent = authResponse.Content.ReadAsStringAsync().Result;
            var userId      = JsonConvert.DeserializeObject <string>(authContent);

            filterProperty.Set("UserId", userId);
            return(true);
        }
Exemplo n.º 2
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var filterProperty = new ActionFilterProperty(filterContext, true);
            var headers        = filterContext.HttpContext.Request.Headers["AuthToken"];
            var token          = headers.FirstOrDefault();

            if (token != null)
            {
                filterProperty.Set("AuthToken", token);
                if (IsAuthTokenValid(filterProperty))
                {
                    return;
                }
            }

            filterContext.Result = new UnauthorizedResult();
        }