Пример #1
0
        public JObject LoginOut(string uid)
        {
            DataResult result = new DataResult
            {
                Verifiaction = false
            };

            try
            {
                if (string.IsNullOrEmpty(uid))
                {
                    result.Message = "用户ID不能为空!";
                }

                var jtoken = _jwtAuthorization.GetCurrentToken();
                if (string.Format("{0}", jtoken.Payload["ID"]) == uid)
                {
                    _cacheService.Remove(uid);
                    result.Verifiaction = true;
                    result.Message      = "退出成功!";
                }
            }
            finally
            {
            }
            return(JObject.FromObject(result));
        }
Пример #2
0
        public Task OnAuthorizationAsync(AuthorizationFilterContext context)
        {
            DataResult result = new DataResult()
            {
                Verifiaction = false,
            };

            try
            {
                var token = _jwtAuthorization.GetCurrentToken();
                if (token != null)
                {
                    if (!_cacheService.Exists(token.Payload["ID"].ToString()))
                    {
                        result.Statecode = (int)HttpStatusCode.Unauthorized;
                        result.Message   = "token失效,请重新登录!";
                        return(Task.FromResult(result));
                    }
                }
            }
            finally
            {
            }
            return(Task.CompletedTask);
        }
Пример #3
0
        public string GetValue()
        {
            var sss = _jwtAuthorization.GetCurrentToken();
            JwtSecurityToken aaa = new JwtSecurityTokenHandler().ReadJwtToken(sss.Split(" ").Last());
            string           a   = aaa.Payload["ID"].ToString();

            foreach (var item in aaa.Claims)
            {
                string ss = item.Value;
            }
            return("value1");
        }
Пример #4
0
        public Task Invoke(HttpContext context)
        {
            DataResult result = new DataResult()
            {
                Verifiaction = false,
                Message      = "管道失效" + context.Request.Host.Value.ToString()
            };

            try
            {
                var token = _jwtAuthorization.GetCurrentToken();
                if (token != null)
                {
                    if (!_cacheService.Exists(token.Payload["ID"].ToString()))
                    {
                        result.Statecode = (int)HttpStatusCode.Forbidden;
                        result.Message   = "token失效,请重新登录!";
                        return(context.Response.WriteAsync(JsonConvert.SerializeObject(result)));
                    }
                    else
                    {
                        result.Verifiaction = true;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Statecode = (int)HttpStatusCode.InternalServerError;
                result.Message   = ex.Message.ToString();
                return(context.Response.WriteAsync(JsonConvert.SerializeObject(result)));
            }
            finally
            {
            }
            return(_next(context));
        }
Пример #5
0
 public string Test2()
 {
     return(_jwtAuthorization.GetCurrentToken());
 }