From 0ab0ed9adc67b6f34be0c18a75188e7092471673 Mon Sep 17 00:00:00 2001 From: xiaolipro <2357729423@qq.com> Date: Fri, 26 Dec 2025 14:57:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5fake=20simple=20admin=20compl?= =?UTF-8?q?eted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Build.props | 6 +++ TrackCenter.sln | 1 + src/TrackCenter.Api/JWTEncryption.cs | 30 -------------- src/TrackCenter.Api/JWTSettingsOptions.cs | 41 ------------------- src/TrackCenter.Api/TrackCenter.Api.csproj | 2 +- src/TrackCenter.Api/TrackCenterApiModule.cs | 11 +---- .../TrackCenter.Application.csproj | 6 +-- .../TrackCenter.Domain.csproj | 4 +- 8 files changed, 14 insertions(+), 87 deletions(-) create mode 100644 Directory.Build.props delete mode 100644 src/TrackCenter.Api/JWTEncryption.cs delete mode 100644 src/TrackCenter.Api/JWTSettingsOptions.cs diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..98c98ba5 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,6 @@ + + + + 8.0.0 + + diff --git a/TrackCenter.sln b/TrackCenter.sln index e85884b0..a63e19e9 100644 --- a/TrackCenter.sln +++ b/TrackCenter.sln @@ -18,6 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution items", "solution NuGet.Config = NuGet.Config .gitignore = .gitignore .editorconfig = .editorconfig + Directory.Build.props = Directory.Build.props EndProjectSection EndProject Global diff --git a/src/TrackCenter.Api/JWTEncryption.cs b/src/TrackCenter.Api/JWTEncryption.cs deleted file mode 100644 index 2edd00f6..00000000 --- a/src/TrackCenter.Api/JWTEncryption.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Text; -using Microsoft.IdentityModel.Tokens; - -namespace TrackCenter.Api; - -public class JWTEncryption -{ - /// 生成Token验证参数 - /// - /// - public static TokenValidationParameters CreateTokenValidationParameters( - JWTSettingsOptions jwtSettings) - { - var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtSettings.SecretKey)); - - return new TokenValidationParameters() - { - ValidateIssuer = true, - ValidateAudience = true, - ValidateLifetime = true, - ValidateIssuerSigningKey = true, - ValidIssuer = jwtSettings.Issuer, - ValidAudience = jwtSettings.Audience, - IssuerSigningKey = key, - ClockSkew = TimeSpan.FromSeconds(jwtSettings.ClockSkewMinutes), - // 验证过期时间 - RequireExpirationTime = true - }; - } -} diff --git a/src/TrackCenter.Api/JWTSettingsOptions.cs b/src/TrackCenter.Api/JWTSettingsOptions.cs deleted file mode 100644 index f2959370..00000000 --- a/src/TrackCenter.Api/JWTSettingsOptions.cs +++ /dev/null @@ -1,41 +0,0 @@ -namespace TrackCenter.Api; - - -/// Jwt 配置 -public sealed class JWTSettingsOptions -{ - /// - /// 配置节名称 - /// - public static string SectionName = "JwtSettings"; - - /// - /// 密钥(至少32位字符) - /// - public string SecretKey { get; set; } = "YourSuperSecretKeyThatIsAtLeast32CharactersLong!"; - - /// - /// 签发者 - /// - public string Issuer { get; set; } = "SimpleAdmin"; - - /// - /// 受众 - /// - public string Audience { get; set; } = "SimpleAdminClient"; - - /// - /// Access Token 过期时间(分钟) - /// - public int ExpiryInMinutes { get; set; } = 60; - - /// - /// Refresh Token 过期时间(天) - /// - public int RefreshExpiryInDays { get; set; } = 7; - - /// - /// 时钟偏移(分钟),用于处理服务器时间差异 - /// - public int ClockSkewMinutes { get; set; } = 5; -} diff --git a/src/TrackCenter.Api/TrackCenter.Api.csproj b/src/TrackCenter.Api/TrackCenter.Api.csproj index 79e9fa41..0314f329 100644 --- a/src/TrackCenter.Api/TrackCenter.Api.csproj +++ b/src/TrackCenter.Api/TrackCenter.Api.csproj @@ -18,7 +18,7 @@ - + diff --git a/src/TrackCenter.Api/TrackCenterApiModule.cs b/src/TrackCenter.Api/TrackCenterApiModule.cs index 87cf4f69..00dd02ad 100644 --- a/src/TrackCenter.Api/TrackCenterApiModule.cs +++ b/src/TrackCenter.Api/TrackCenterApiModule.cs @@ -142,16 +142,7 @@ public class TrackCenterApiModule : FakeModule }); }); - - services.AddAuthentication(options => - { - options.DefaultAuthenticateScheme = "Bearer"; - options.DefaultChallengeScheme = "Bearer"; - }).AddJwtBearer(options => - { - var jwtSettings = configuration.GetSection("JWTSettings").Get(); - options.TokenValidationParameters = JWTEncryption.CreateTokenValidationParameters(jwtSettings); - }); + services.AddFakeJwtAuthentication(); // 添加授权服务 services.AddAuthorization(); diff --git a/src/TrackCenter.Application/TrackCenter.Application.csproj b/src/TrackCenter.Application/TrackCenter.Application.csproj index 5b26d3e5..f40aef71 100644 --- a/src/TrackCenter.Application/TrackCenter.Application.csproj +++ b/src/TrackCenter.Application/TrackCenter.Application.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/src/TrackCenter.Domain/TrackCenter.Domain.csproj b/src/TrackCenter.Domain/TrackCenter.Domain.csproj index 82437846..d12432c2 100644 --- a/src/TrackCenter.Domain/TrackCenter.Domain.csproj +++ b/src/TrackCenter.Domain/TrackCenter.Domain.csproj @@ -9,11 +9,11 @@ - + - +