diff --git a/AGSS/Controllers/User/UserInfoController.cs b/AGSS/Controllers/User/UserInfoController.cs index 79d9c41..fd79198 100644 --- a/AGSS/Controllers/User/UserInfoController.cs +++ b/AGSS/Controllers/User/UserInfoController.cs @@ -1,3 +1,4 @@ +using System.Security.Claims; using AGSS.Models; using AGSS.Models.DTOs; using AGSS.Models.Entities; @@ -24,11 +25,6 @@ public class UserInfoController : ControllerBase public async Task My() { - - - // _context.UserModels.Add(user); - // await _context.SaveChangesAsync(); - // return Ok(new ReturnTemplate(200, "成功",user)); return Ok(); } @@ -43,7 +39,7 @@ public class UserInfoController : ControllerBase [Authorize] public async Task NextInfo([FromBody]UserRequest data) { - var authId = this.User.FindFirst("sub")!.Value; + var authId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); UserModel user = new UserModel { AuthId = authId, @@ -68,8 +64,8 @@ public class UserInfoController : ControllerBase [Authorize] public async Task IsNewUser() { - var authId = this.User.FindFirst("sub")!.Value; - var isNewUser=await _context.UserModels.AnyAsync(a => a.AuthId == authId); + var authId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); + var isNewUser=await _context.UserModels.AnyAsync(a => a.AuthId == authId); return Ok(new ReturnTemplate(200, "成功",isNewUser)); } } \ No newline at end of file diff --git a/AGSS/Program.cs b/AGSS/Program.cs index f8d9863..7fd7ad3 100644 --- a/AGSS/Program.cs +++ b/AGSS/Program.cs @@ -1,4 +1,5 @@ using System.Reflection; +using System.Text; using AGSS.Models; using AGSS.Models.Template; using Microsoft.AspNetCore.Authentication.JwtBearer; @@ -36,13 +37,21 @@ builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) { options.Authority = domain; options.Audience = audience; + options.RequireHttpsMetadata = false; options.TokenValidationParameters = new TokenValidationParameters { - ValidateIssuer = true, + ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, ValidIssuer = domain, - ValidAudience = audience + + + // ValidAudience = audience, + + + + + }; options.Events = new JwtBearerEvents { @@ -69,6 +78,29 @@ builder.Services.AddSwaggerGen(c => var xmlFil = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFil); c.IncludeXmlComments(xmlPath); + c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme + { + In = ParameterLocation.Header, + Type = SecuritySchemeType.ApiKey, + Description = "直接在下框中输入Bearer {token}(注意两者之间是一个空格)", + Name = "Authorization", + BearerFormat = "JWT", + Scheme = "Bearer" + }); + c.AddSecurityRequirement(new OpenApiSecurityRequirement + { + { + new OpenApiSecurityScheme + { + Reference=new OpenApiReference + { + Type=ReferenceType.SecurityScheme, + Id="Bearer" + } + }, + new string[] {} + } + }); }); var app = builder.Build(); diff --git a/AGSS/appsettings.Development.json b/AGSS/appsettings.Development.json index b2b21da..10ed376 100644 --- a/AGSS/appsettings.Development.json +++ b/AGSS/appsettings.Development.json @@ -8,8 +8,9 @@ "AllowedHosts": "*", "Auth0": { "Domain": "https://dev-f8lrenkd107vqnti.us.auth0.com/", - "Audience": "https://zeronode.AGSBackend.com", - "ClientId": "4JenP8xcKJsj251mUvRFbkJKEuPlBs6p" + "Audience": "https://AGSSadmin.ASGG.com", + "ClientId": "4JenP8xcKJsj251mUvRFbkJKEuPlBs6p", + "Secret": "7wU9bdVfBsX3jITh0w4bgE6fkvLk8pIcZRSUw6r8HQUnXfslYxlx4c4E0ZAIw4Ak" }, "ConnectionStrings": { "DBContext": "Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=luolan12323;" diff --git a/AGSS/appsettings.json b/AGSS/appsettings.json index b2b21da..10ed376 100644 --- a/AGSS/appsettings.json +++ b/AGSS/appsettings.json @@ -8,8 +8,9 @@ "AllowedHosts": "*", "Auth0": { "Domain": "https://dev-f8lrenkd107vqnti.us.auth0.com/", - "Audience": "https://zeronode.AGSBackend.com", - "ClientId": "4JenP8xcKJsj251mUvRFbkJKEuPlBs6p" + "Audience": "https://AGSSadmin.ASGG.com", + "ClientId": "4JenP8xcKJsj251mUvRFbkJKEuPlBs6p", + "Secret": "7wU9bdVfBsX3jITh0w4bgE6fkvLk8pIcZRSUw6r8HQUnXfslYxlx4c4E0ZAIw4Ak" }, "ConnectionStrings": { "DBContext": "Host=localhost;Port=5432;Database=postgres;Username=postgres;Password=luolan12323;"