diff --git a/UnitTestProject/BasicTests/AuthHelperTest.cs b/UnitTestProject/BasicTests/AuthHelperTest.cs index c52f3299..74b778c3 100644 --- a/UnitTestProject/BasicTests/AuthHelperTest.cs +++ b/UnitTestProject/BasicTests/AuthHelperTest.cs @@ -21,7 +21,7 @@ namespace YLErp.BasicTests public void TestGenerateToken() { var identity = UserManager.CreateIdentity("1", "superA", Guid.NewGuid().ToString("")); - var jwtToken2 = AuthHelper.CreateJwtToken2(identity); + var jwtToken2 = AuthHelper.CreateJwtToken(identity); var jwtTokenHandler = new JwtSecurityTokenHandler(); var token = jwtTokenHandler.ReadJwtToken(jwtToken2); Assert.Fail(); diff --git a/YLErpDAL/Helpers/AuthHelper.cs b/YLErpDAL/Helpers/AuthHelper.cs index d31b636f..947e3246 100644 --- a/YLErpDAL/Helpers/AuthHelper.cs +++ b/YLErpDAL/Helpers/AuthHelper.cs @@ -29,41 +29,10 @@ namespace YLErp.Helpers public const string JwtUserToken = "###jwt###"; - /// - /// 创建jwt令牌 - /// public static string CreateJwtToken(ClaimsIdentity identity) - { - var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(JwtSecretKey)); - - // 添加 JTI (JWT ID) 用于黑名单机制 - var claims = new ClaimsIdentity(identity); - if (!claims.HasClaim(c => c.Type == "jti")) - { - claims.AddClaim(new Claim("jti", Guid.NewGuid().ToString("N"))); - } - - var tokenDescriptor = new SecurityTokenDescriptor - { - Subject = claims, - Expires = DateTime.UtcNow.AddSeconds(ExpireInSeconds), - Issuer = JwtIssuer, - Audience = JwtAudience, - SigningCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature) - }; - - var tokenHandler = new JwtSecurityTokenHandler(); - - var token = tokenHandler.CreateToken(tokenDescriptor); - - return tokenHandler.WriteToken(token); - } - - public static string CreateJwtToken2(ClaimsIdentity identity) { var key = new SymmetricSecurityKey(Convert.FromBase64String(JwtSecretKey)); - // 添加 JTI (JWT ID) 用于黑名单机制 var claims = new ClaimsIdentity(identity); if (!claims.HasClaim(c => c.Type == "jti")) { @@ -74,7 +43,6 @@ namespace YLErp.Helpers { Subject = claims, Expires = DateTime.UtcNow.AddSeconds(ExpireInSeconds), - IssuedAt = DateTime.Now, Issuer = JwtIssuer, Audience = JwtAudience, SigningCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha512) diff --git a/YLErpWeb/Controllers/AccountController.cs b/YLErpWeb/Controllers/AccountController.cs index 79c0d3e6..3efa8a20 100644 --- a/YLErpWeb/Controllers/AccountController.cs +++ b/YLErpWeb/Controllers/AccountController.cs @@ -264,7 +264,7 @@ namespace YLErp.Web.Controllers Response.Cookies.Delete("Access-Token"); Response.Cookies.Delete("Access-Token-Encrypt"); - var jwtToken = AuthHelper.CreateJwtToken2(identity); + var jwtToken = AuthHelper.CreateJwtToken(identity); Response.Cookies.Append("Access-Token", jwtToken, new CookieOptions { MaxAge = TimeSpan.FromSeconds(AuthHelper.ExpireInSeconds) diff --git a/YLErpWeb/Middleware/RefreshTokenMiddleware.cs b/YLErpWeb/Middleware/RefreshTokenMiddleware.cs index a0d9f55c..02c86b21 100644 --- a/YLErpWeb/Middleware/RefreshTokenMiddleware.cs +++ b/YLErpWeb/Middleware/RefreshTokenMiddleware.cs @@ -134,7 +134,7 @@ namespace YLErp.Web.Middleware var identity = UserManager.CreateIdentity(userId, userName, userToken); // 生成新的token - var newToken = AuthHelper.CreateJwtToken2(identity); + var newToken = AuthHelper.CreateJwtToken(identity); // 更新cookie context.Response.Cookies.Append("Access-Token", newToken, new CookieOptions