public bool IsAuthenticated(LoginRequestDTO request, out TnToken token) { token = null; if (!_userService.IsValid(request)) { return(false); } TnToken data = _jWTService.CreateToken <LoginRequestDTO>(request); token = data; return(true); }
/// <summary> /// 执行完成 /// </summary> /// <param name="context"></param> public void OnActionExecuted(ActionExecutedContext context) { string tokenName = Configuration.GetSection("JWTConfig").GetSection("tokenName").Value; int WaringMinutes = int.Parse(Configuration.GetSection("JWTConfig").GetSection("WaringMinutes").Value); string Issuer = Configuration.GetSection("JWTConfig").GetSection("Issuer").Value; string Audience = Configuration.GetSection("JWTConfig").GetSection("Audience").Value; bool HasToken = context.HttpContext.Request.Headers.TryGetValue(tokenName, out var tokenobj); string token = tokenobj.ToString(); var ret = new CommonResponse(); string username = ""; DateTime createTime = new DateTime(); TokenType tokenType = tokenHelper.ValiTokenState(token, a => a["iss"] == Issuer && a["aud"] == Audience, action => { username = action["username"]; createTime = DateTime.Parse(action["createTime"]); }); TnToken TokenInfo = null; if (createTime.AddMinutes(WaringMinutes) <= DateTime.Now) { TokenInfo = tokenHelper.CreateToken(new Dictionary <string, object> { { "username", username }, { "createTime", DateTime.Now } }); } if (context.Result is OkObjectResult) { var data = context.Result as OkObjectResult; context.Result = new OkObjectResult(new CommonResponse { errcode = 0, errmsg = "", TokenInfo = TokenInfo, Data = data.Value }); } if (context.Result is BadRequestObjectResult) { var data = context.Result as BadRequestObjectResult; context.Result = new BadRequestObjectResult(new CommonResponse { errcode = -1, errmsg = data.Value.ToString() }); } }