public ActionResult <object> Get(string username, string password) { Managers managerModel = _manager.Login(username, password); var jwtSection = _configuration.GetSection("jwt"); int tokenExpires = Convert.ToInt32(jwtSection.GetSection("TokenExpires").Value); int refreshTokenExpires = Convert.ToInt32(jwtSection.GetSection("RefreshTokenExpires").Value); if (managerModel == null) { return(ErrorResult <int>("用户名或密码错误")); } JwtTokenHelper jwtTokenHelper = new JwtTokenHelper(); var claims = new Claim[] { new Claim(ClaimTypes.Name, managerModel.UserName), new Claim(ClaimTypes.Role, managerModel.RoleId.ToString()), new Claim(JwtRegisteredClaimNames.Sid, managerModel.Id.ToString()), }; string token = jwtTokenHelper.GetToken(claims); string refreshToken = jwtTokenHelper.RefreshToken(); string tokenExpired = StringHelper.GetTimeStamp(DateTime.UtcNow.AddMinutes(tokenExpires)); string refreshToeknExpired = StringHelper.GetTimeStamp(DateTime.UtcNow.AddMinutes(refreshTokenExpires)); _manager.AddRefeshToken(token, refreshToken, managerModel.Id, refreshTokenExpires); return(SuccessResult <object>(new { token = token, refreshToken = refreshToken, userName = managerModel.UserName, expires = tokenExpired, refreshExpires = refreshToeknExpired })); }