diff --git a/docs/task-03-configure-openiddict.md b/docs/task-03-configure-openiddict.md new file mode 100644 index 0000000..03041dc --- /dev/null +++ b/docs/task-03-configure-openiddict.md @@ -0,0 +1,202 @@ +# Task 3: Configure OpenIddict + +## Task Description + +**Files:** +- Create: `src/Fengling.AuthService/Configuration/OpenIddictSetup.cs` +- Modify: `src/Fengling.AuthService/Program.cs` + +## Implementation Steps + +### Step 1: Create OpenIddict configuration + +Create: `src/Fengling.AuthService/Configuration/OpenIddictSetup.cs` + +```csharp +using Microsoft.Extensions.DependencyInjection; +using OpenIddict.Validation.AspNetCore; + +namespace Fengling.AuthService.Configuration; + +public static class OpenIddictSetup +{ + public static IServiceCollection AddOpenIddictConfiguration(this IServiceCollection services, IConfiguration configuration) + { + services.AddOpenIddict() + .AddCore(options => + { + options.UseEntityFrameworkCore() + .UseDbContext(); + }) + .AddServer(options => + { + options.SetIssuer(configuration["OpenIddict:Issuer"] ?? "https://auth.fengling.local"); + options.AddSigningKey(new SymmetricSecurityKey( + System.Text.Encoding.UTF8.GetBytes("fengling-super-secret-key-for-dev-only-change-in-prod-please!!!"))); + + options.AllowAuthorizationCodeFlow() + .AllowPasswordFlow() + .AllowRefreshTokenFlow() + .RequireProofKeyForCodeExchange(); + + options.RegisterScopes("api", "offline_access"); + + options.AddDevelopmentEncryptionCertificate() + .AddDevelopmentSigningCertificate(); + + options.UseAspNetCore() + .EnableAuthorizationEndpointPassThrough() + .EnableTokenEndpointPassThrough() + .EnableLogoutEndpointPassThrough(); + }) + .AddValidation(options => + { + options.UseLocalServer(); + options.UseAspNetCore(); + }); + + services.AddAuthentication(options => + { + options.DefaultAuthenticateScheme = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme; + }); + + return services; + } +} +``` + +### Step 2: Update Program.cs with OpenIddict and EF Core + +Edit: `src/Fengling.AuthService/Program.cs` + +```csharp +using Fengling.AuthService.Configuration; +using Fengling.AuthService.Data; +using Fengling.AuthService.Models; +using Microsoft.AspNetCore.Identity; +using Microsoft.EntityFrameworkCore; +using Microsoft.OpenApi.Models; +using OpenTelemetry; +using OpenTelemetry.Resources; +using OpenTelemetry.Trace; +using Serilog; + +var builder = WebApplication.CreateBuilder(args); + +// Serilog +Log.Logger = new LoggerConfiguration() + .ReadFrom.Configuration(builder.Configuration) + .Enrich.FromLogContext() + .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}") + .CreateLogger(); + +builder.Host.UseSerilog(); + +// Database +builder.Services.AddDbContext(options => + options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection"))); + +// Identity +builder.Services.AddIdentity() + .AddEntityFrameworkStores() + .AddDefaultTokenProviders(); + +// OpenIddict +builder.Services.AddOpenIddictConfiguration(builder.Configuration); + +// OpenTelemetry +builder.Services.AddOpenTelemetry() + .ConfigureResource(resource => + resource.AddService("Fengling.AuthService")) + .AddAspNetCoreInstrumentation() + .AddHttpClientInstrumentation() + .AddSource("OpenIddict.Server.AspNetCore") + .AddOtlpExporter(); + +// Controllers +builder.Services.AddControllers(); + +// Swagger +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(options => +{ + options.SwaggerDoc("v1", new OpenApiInfo + { + Title = "Fengling Auth Service", + Version = "v1", + Description = "Authentication and authorization service using OpenIddict" + }); + + options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme + { + Type = SecuritySchemeType.OAuth2, + Flows = new OpenApiOAuthFlows + { + Password = new OpenApiOAuthFlow + { + TokenUrl = "/connect/token" + } + } + }); +}); + +var app = builder.Build(); + +// Configure pipeline +app.UseSwagger(); +app.UseSwaggerUI(options => +{ + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Fengling Auth Service v1"); + options.OAuthClientId("swagger-ui"); + options.OAuthUsePkce(); +}); + +app.UseRouting(); +app.UseAuthentication(); +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); +``` + +### Step 3: Run to verify startup + +Run: +```bash +dotnet run +``` +Expected: Service starts without errors, Swagger UI available at http://localhost:5000/swagger + +### Step 4: Commit + +```bash +git add src/Fengling.AuthService/Configuration/ src/Fengling.AuthService/Program.cs +git commit -m "feat(auth): configure OpenIddict with JWT and OAuth2 support" +``` + +## Context + +This task configures OpenIddict for OAuth2/OIDC authentication, including: +- Server configuration with token endpoints +- Password flow for user authentication +- Development certificates for signing +- Integration with ASP.NET Core Identity +- Swagger UI with OAuth2 support + +**Tech Stack**: OpenIddict 7.2.0, ASP.NET Core Identity, Swagger + +## Verification + +- [ ] OpenIddictSetup class created +- [ ] Program.cs updated with OpenIddict configuration +- [ ] Service starts without errors +- [ ] Swagger UI accessible +- [ ] Committed to git + +## Notes + +- Using symmetric key for token signing (dev only) +- Password flow enabled for direct authentication +- Development certificates used (replace in production) diff --git a/src/Fengling.AuthService/Configuration/OpenIddictSetup.cs b/src/Fengling.AuthService/Configuration/OpenIddictSetup.cs new file mode 100644 index 0000000..d561975 --- /dev/null +++ b/src/Fengling.AuthService/Configuration/OpenIddictSetup.cs @@ -0,0 +1,47 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.IdentityModel.Tokens; +using OpenIddict.Validation.AspNetCore; + +namespace Fengling.AuthService.Configuration; + +public static class OpenIddictSetup +{ + public static IServiceCollection AddOpenIddictConfiguration(this IServiceCollection services, IConfiguration configuration) + { + services.AddOpenIddict() + .AddCore(options => + { + options.UseEntityFrameworkCore() + .UseDbContext(); + }) + .AddServer(options => + { + options.SetIssuer(configuration["OpenIddict:Issuer"] ?? "https://auth.fengling.local"); + + options.AddDevelopmentEncryptionCertificate() + .AddDevelopmentSigningCertificate(); + + options.AllowAuthorizationCodeFlow() + .AllowPasswordFlow() + .AllowRefreshTokenFlow() + .RequireProofKeyForCodeExchange(); + + options.RegisterScopes("api", "offline_access"); + + options.UseAspNetCore(); + }) + .AddValidation(options => + { + options.UseLocalServer(); + options.UseAspNetCore(); + }); + + services.AddAuthentication(options => + { + options.DefaultAuthenticateScheme = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme; + }); + + return services; + } +} diff --git a/src/Fengling.AuthService/Fengling.AuthService.csproj b/src/Fengling.AuthService/Fengling.AuthService.csproj index e647633..cf37dd5 100644 --- a/src/Fengling.AuthService/Fengling.AuthService.csproj +++ b/src/Fengling.AuthService/Fengling.AuthService.csproj @@ -7,6 +7,7 @@ + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -20,6 +21,7 @@ + diff --git a/src/Fengling.AuthService/Program.cs b/src/Fengling.AuthService/Program.cs index ee9d65d..662d70d 100644 --- a/src/Fengling.AuthService/Program.cs +++ b/src/Fengling.AuthService/Program.cs @@ -1,41 +1,81 @@ +using Fengling.AuthService.Configuration; +using Fengling.AuthService.Data; +using Fengling.AuthService.Models; +using Microsoft.AspNetCore.Identity; +using Microsoft.EntityFrameworkCore; +using Microsoft.OpenApi.Models; +using OpenTelemetry; +using OpenTelemetry.Resources; +using OpenTelemetry.Trace; +using Serilog; + var builder = WebApplication.CreateBuilder(args); -// Add services to the container. -// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi -builder.Services.AddOpenApi(); +Log.Logger = new LoggerConfiguration() + .ReadFrom.Configuration(builder.Configuration) + .Enrich.FromLogContext() + .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}") + .CreateLogger(); + +builder.Host.UseSerilog(); + +builder.Services.AddDbContext(options => + options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection"))); + +builder.Services.AddIdentity() + .AddEntityFrameworkStores() + .AddDefaultTokenProviders(); + +builder.Services.AddOpenIddictConfiguration(builder.Configuration); + +builder.Services.AddOpenTelemetry() + .ConfigureResource(resource => + resource.AddService("Fengling.AuthService")) + .WithTracing(tracing => + tracing.AddAspNetCoreInstrumentation() + .AddHttpClientInstrumentation() + .AddSource("OpenIddict.Server.AspNetCore") + .AddOtlpExporter()); + +builder.Services.AddControllers(); + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(options => +{ + options.SwaggerDoc("v1", new OpenApiInfo + { + Title = "Fengling Auth Service", + Version = "v1", + Description = "Authentication and authorization service using OpenIddict" + }); + + options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme + { + Type = SecuritySchemeType.OAuth2, + Flows = new OpenApiOAuthFlows + { + Password = new OpenApiOAuthFlow + { + TokenUrl = new Uri("/connect/token", UriKind.Relative) + } + } + }); +}); var app = builder.Build(); -// Configure the HTTP request pipeline. -if (app.Environment.IsDevelopment()) +app.UseSwagger(); +app.UseSwaggerUI(options => { - app.MapOpenApi(); -} + options.SwaggerEndpoint("/swagger/v1/swagger.json", "Fengling Auth Service v1"); + options.OAuthClientId("swagger-ui"); + options.OAuthUsePkce(); +}); -app.UseHttpsRedirection(); +app.UseRouting(); +app.UseAuthentication(); +app.UseAuthorization(); -var summaries = new[] -{ - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" -}; - -app.MapGet("/weatherforecast", () => -{ - var forecast = Enumerable.Range(1, 5).Select(index => - new WeatherForecast - ( - DateOnly.FromDateTime(DateTime.Now.AddDays(index)), - Random.Shared.Next(-20, 55), - summaries[Random.Shared.Next(summaries.Length)] - )) - .ToArray(); - return forecast; -}) -.WithName("GetWeatherForecast"); +app.MapControllers(); app.Run(); - -record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) -{ - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); -} diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.deps.json b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.deps.json index 52e74e6..51fed9a 100644 --- a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.deps.json +++ b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.deps.json @@ -18,8 +18,10 @@ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.11.0", "OpenTelemetry.Extensions.Hosting": "1.11.0", "OpenTelemetry.Instrumentation.AspNetCore": "1.11.0", + "OpenTelemetry.Instrumentation.Http": "1.11.0", "Serilog.AspNetCore": "9.0.0", - "Serilog.Sinks.Console": "6.0.0" + "Serilog.Sinks.Console": "6.0.0", + "Swashbuckle.AspNetCore": "7.2.0" }, "runtime": { "Fengling.AuthService.dll": {} @@ -66,7 +68,7 @@ }, "Microsoft.AspNetCore.OpenApi/9.0.1": { "dependencies": { - "Microsoft.OpenApi": "1.6.17" + "Microsoft.OpenApi": "1.6.22" }, "runtime": { "lib/net9.0/Microsoft.AspNetCore.OpenApi.dll": { @@ -874,11 +876,11 @@ } } }, - "Microsoft.OpenApi/1.6.17": { + "Microsoft.OpenApi/1.6.22": { "runtime": { "lib/netstandard2.0/Microsoft.OpenApi.dll": { - "assemblyVersion": "1.6.17.0", - "fileVersion": "1.6.17.0" + "assemblyVersion": "1.6.22.0", + "fileVersion": "1.6.22.0" } } }, @@ -1227,6 +1229,19 @@ } } }, + "OpenTelemetry.Instrumentation.Http/1.11.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.11.1" + }, + "runtime": { + "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": { + "assemblyVersion": "1.11.0.337", + "fileVersion": "1.11.0.337" + } + } + }, "Polly/7.2.4": { "runtime": { "lib/netstandard2.0/Polly.dll": { @@ -1387,6 +1402,43 @@ } } }, + "Swashbuckle.AspNetCore/7.2.0": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "7.2.0", + "Swashbuckle.AspNetCore.SwaggerGen": "7.2.0", + "Swashbuckle.AspNetCore.SwaggerUI": "7.2.0" + } + }, + "Swashbuckle.AspNetCore.Swagger/7.2.0": { + "dependencies": { + "Microsoft.OpenApi": "1.6.22" + }, + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "7.2.0.0", + "fileVersion": "7.2.0.956" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "7.2.0" + }, + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "7.2.0.0", + "fileVersion": "7.2.0.956" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "7.2.0.0", + "fileVersion": "7.2.0.956" + } + } + }, "System.CodeDom/6.0.0": { "runtime": { "lib/net6.0/System.CodeDom.dll": { @@ -1841,12 +1893,12 @@ "path": "microsoft.net.http.headers/9.0.10", "hashPath": "microsoft.net.http.headers.9.0.10.nupkg.sha512" }, - "Microsoft.OpenApi/1.6.17": { + "Microsoft.OpenApi/1.6.22": { "type": "package", "serviceable": true, - "sha512": "sha512-Le+kehlmrlQfuDFUt1zZ2dVwrhFQtKREdKBo+rexOwaCoYP0/qpgT9tLxCsZjsgR5Itk1UKPcbgO+FyaNid/bA==", - "path": "microsoft.openapi/1.6.17", - "hashPath": "microsoft.openapi.1.6.17.nupkg.sha512" + "sha512": "sha512-aBvunmrdu/x+4CaA/UP1Jx4xWGwk4kymhoIRnn2Vp+zi5/KOPQJ9EkSXHRUr01WcGKtYl3Au7XfkPJbU1G2sjQ==", + "path": "microsoft.openapi/1.6.22", + "hashPath": "microsoft.openapi.1.6.22.nupkg.sha512" }, "Mono.TextTemplating/3.0.0": { "type": "package", @@ -2051,6 +2103,13 @@ "path": "opentelemetry.instrumentation.aspnetcore/1.11.0", "hashPath": "opentelemetry.instrumentation.aspnetcore.1.11.0.nupkg.sha512" }, + "OpenTelemetry.Instrumentation.Http/1.11.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1ncYPNmMaYNPX664uo3FlmSVGETBKQbBvarbGgB5ZynERTFmCsZ7UqefvVe3vnPYOIAGOjbMAbprYF2BfMielg==", + "path": "opentelemetry.instrumentation.http/1.11.0", + "hashPath": "opentelemetry.instrumentation.http.1.11.0.nupkg.sha512" + }, "Polly/7.2.4": { "type": "package", "serviceable": true, @@ -2149,6 +2208,34 @@ "path": "serilog.sinks.file/6.0.0", "hashPath": "serilog.sinks.file.6.0.0.nupkg.sha512" }, + "Swashbuckle.AspNetCore/7.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vJv19UpWm6OOgnS9QLDnWARNVasXUfj8SFvlG7UVALm4nBnfwRnEky7C0veSDqMUmBeMPC6Ec3d6G1ts/J04Uw==", + "path": "swashbuckle.aspnetcore/7.2.0", + "hashPath": "swashbuckle.aspnetcore.7.2.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/7.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-y27fNDfIh1vGhJjXYynLcZjl7DLOW1bSO2MDsY9wB4Zm1fdxpPsuBSiR4U+0acWlAqLmnuOPKr/OeOgwRUkBlw==", + "path": "swashbuckle.aspnetcore.swagger/7.2.0", + "hashPath": "swashbuckle.aspnetcore.swagger.7.2.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pMrTxGVuXM7t4wqft5CNNU8A0++Yw5kTLmYhB6tbEcyBfO8xEF/Y8pkJhO6BZ/2MYONrRYoQTfPFJqu8fOf5WQ==", + "path": "swashbuckle.aspnetcore.swaggergen/7.2.0", + "hashPath": "swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hgrXeKzyp5OGN8qVvL7A+vhmU7mDJTfGpiMBRL66IcfLOyna8UTLtn3cC3CghamXpRDufcc9ciklTszUGEQK0w==", + "path": "swashbuckle.aspnetcore.swaggerui/7.2.0", + "hashPath": "swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512" + }, "System.CodeDom/6.0.0": { "type": "package", "serviceable": true, diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.dll b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.dll index 8939c7d..fd68dd1 100644 Binary files a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.dll and b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.dll differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.pdb b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.pdb index 1432add..bbd9cb0 100644 Binary files a/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.pdb and b/src/Fengling.AuthService/bin/Debug/net9.0/Fengling.AuthService.pdb differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Microsoft.OpenApi.dll b/src/Fengling.AuthService/bin/Debug/net9.0/Microsoft.OpenApi.dll index d9f09da..8ba2ce6 100755 Binary files a/src/Fengling.AuthService/bin/Debug/net9.0/Microsoft.OpenApi.dll and b/src/Fengling.AuthService/bin/Debug/net9.0/Microsoft.OpenApi.dll differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/OpenTelemetry.Instrumentation.Http.dll b/src/Fengling.AuthService/bin/Debug/net9.0/OpenTelemetry.Instrumentation.Http.dll new file mode 100755 index 0000000..366666a Binary files /dev/null and b/src/Fengling.AuthService/bin/Debug/net9.0/OpenTelemetry.Instrumentation.Http.dll differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll new file mode 100755 index 0000000..945d299 Binary files /dev/null and b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll new file mode 100755 index 0000000..979b4a8 Binary files /dev/null and b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll differ diff --git a/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll new file mode 100755 index 0000000..ab4789e Binary files /dev/null and b/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfo.cs b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfo.cs index e1e5f34..062d115 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfo.cs +++ b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d52b7c9a46ded51a443127feb64c42410418f05e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3deca408f1ed8079b4cde5cf165b56b46834b516")] [assembly: System.Reflection.AssemblyProductAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyTitleAttribute("Fengling.AuthService")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfoInputs.cache b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfoInputs.cache index d166f0e..ef37eb0 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfoInputs.cache +++ b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.AssemblyInfoInputs.cache @@ -1 +1 @@ -b1ff18495fadc0824cf505584e274b7c8db232ffb3d0e074fde2e6db7887210a +1eaba22fd8465b8919c1974b8c0f155a6fbe657542b3b5a45f1e8a80051af341 diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.MvcApplicationPartsAssemblyInfo.cs b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.MvcApplicationPartsAssemblyInfo.cs index f3ac3ef..f0cf1ff 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.MvcApplicationPartsAssemblyInfo.cs +++ b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.MvcApplicationPartsAssemblyInfo.cs @@ -11,6 +11,7 @@ using System; using System.Reflection; [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Microsoft.AspNetCore.OpenApi")] +[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")] // 由 MSBuild WriteCodeFragment 类生成。 diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.assets.cache b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.assets.cache index cb6c3ba..b65810c 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.assets.cache and b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.assets.cache differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.AssemblyReference.cache b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.AssemblyReference.cache index da8aea6..44af1e1 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.AssemblyReference.cache and b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.AssemblyReference.cache differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.CoreCompileInputs.cache b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.CoreCompileInputs.cache index d14769c..3df680a 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.CoreCompileInputs.cache +++ b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -59b31c9e3a549ff3d769e1284909cfed589b77d67830817f26c3bb82d969d727 +e996c1aab4871c6049cd0bddb827bc47b25a15c82375345bf0a4a2222dcd4579 diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.FileListAbsolute.txt b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.FileListAbsolute.txt index f2797a2..54eb51d 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.FileListAbsolute.txt +++ b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.csproj.FileListAbsolute.txt @@ -197,3 +197,7 @@ /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.pdb /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.genruntimeconfig.cache /Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/obj/Debug/net9.0/ref/Fengling.AuthService.dll +/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net9.0/OpenTelemetry.Instrumentation.Http.dll +/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.Swagger.dll +/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll +/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/bin/Debug/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.dll b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.dll index 8939c7d..fd68dd1 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.dll and b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.dll differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.pdb b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.pdb index 1432add..bbd9cb0 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.pdb and b/src/Fengling.AuthService/obj/Debug/net9.0/Fengling.AuthService.pdb differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/ref/Fengling.AuthService.dll b/src/Fengling.AuthService/obj/Debug/net9.0/ref/Fengling.AuthService.dll index 9ad8eba..87345af 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/ref/Fengling.AuthService.dll and b/src/Fengling.AuthService/obj/Debug/net9.0/ref/Fengling.AuthService.dll differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/refint/Fengling.AuthService.dll b/src/Fengling.AuthService/obj/Debug/net9.0/refint/Fengling.AuthService.dll index 9ad8eba..87345af 100644 Binary files a/src/Fengling.AuthService/obj/Debug/net9.0/refint/Fengling.AuthService.dll and b/src/Fengling.AuthService/obj/Debug/net9.0/refint/Fengling.AuthService.dll differ diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json b/src/Fengling.AuthService/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json index ad227b7..df6e410 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json +++ b/src/Fengling.AuthService/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"kj0YdTIP9epXJ4ydBR9yaRr5OemJ36+FlRmnBdiGrUE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","QqAPznb43DBO6jzy8\u002B7Z33yoN6xWI1JSmSVZ/bi6CKo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"kj0YdTIP9epXJ4ydBR9yaRr5OemJ36+FlRmnBdiGrUE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","BDJLn2XnsDdeDzb/\u002B28pT5PUs\u002BI3LFuQ9WGSKahX1Mo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/src/Fengling.AuthService/obj/Debug/net9.0/rjsmrazor.dswa.cache.json b/src/Fengling.AuthService/obj/Debug/net9.0/rjsmrazor.dswa.cache.json index 7d63a29..8f7e832 100644 --- a/src/Fengling.AuthService/obj/Debug/net9.0/rjsmrazor.dswa.cache.json +++ b/src/Fengling.AuthService/obj/Debug/net9.0/rjsmrazor.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"cWEb6+iVjovCYrac7gX+Ogl5Z4cMpIEURSADGbv9ou0=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","QqAPznb43DBO6jzy8\u002B7Z33yoN6xWI1JSmSVZ/bi6CKo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"cWEb6+iVjovCYrac7gX+Ogl5Z4cMpIEURSADGbv9ou0=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["nGadCmuBEG\u002BKUP6Powa57G4ZzOO6ibT7XQKZuYm3g44=","elQhyiEcBZcCHMIxyXyx47S4otwc/MEXjAYU/dca/hQ=","QUvWOS2l6Gf\u002Bb29f7UDXsp99Km48zx\u002BXUkHxYrdP5O4=","587UMkRW9Duvi09dG2y/rsS2zVrz865mHwElGvidCDE=","BDJLn2XnsDdeDzb/\u002B28pT5PUs\u002BI3LFuQ9WGSKahX1Mo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.dgspec.json b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.dgspec.json index 5153f04..0c64b11 100644 --- a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.dgspec.json +++ b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.dgspec.json @@ -87,6 +87,10 @@ "target": "Package", "version": "[1.11.0, )" }, + "OpenTelemetry.Instrumentation.Http": { + "target": "Package", + "version": "[1.11.0, )" + }, "Serilog.AspNetCore": { "target": "Package", "version": "[9.0.0, )" @@ -94,6 +98,10 @@ "Serilog.Sinks.Console": { "target": "Package", "version": "[6.0.0, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[7.2.0, )" } }, "imports": [ diff --git a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.props b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.props index 78bee56..2b22cdd 100644 --- a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.props +++ b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.props @@ -13,12 +13,15 @@ + + + /Users/movingsam/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5 /Users/movingsam/.nuget/packages/microsoft.codeanalysis.analyzers/3.3.4 \ No newline at end of file diff --git a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.targets b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.targets index 33ad9ff..abbddff 100644 --- a/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.targets +++ b/src/Fengling.AuthService/obj/Fengling.AuthService.csproj.nuget.g.targets @@ -2,6 +2,7 @@ + diff --git a/src/Fengling.AuthService/obj/project.assets.json b/src/Fengling.AuthService/obj/project.assets.json index dd2dc55..a732f07 100644 --- a/src/Fengling.AuthService/obj/project.assets.json +++ b/src/Fengling.AuthService/obj/project.assets.json @@ -536,6 +536,17 @@ "buildTransitive/net8.0/_._": {} } }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "build": { + "build/Microsoft.Extensions.ApiDescription.Server.props": {}, + "build/Microsoft.Extensions.ApiDescription.Server.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {}, + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {} + } + }, "Microsoft.Extensions.Caching.Abstractions/9.0.10": { "type": "package", "dependencies": { @@ -1246,7 +1257,7 @@ } } }, - "Microsoft.OpenApi/1.6.17": { + "Microsoft.OpenApi/1.6.22": { "type": "package", "compile": { "lib/netstandard2.0/Microsoft.OpenApi.dll": { @@ -1776,6 +1787,24 @@ "Microsoft.AspNetCore.App" ] }, + "OpenTelemetry.Instrumentation.Http/1.11.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.11.1, 2.0.0)" + }, + "compile": { + "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll": { + "related": ".xml" + } + } + }, "Polly/7.2.4": { "type": "package", "compile": { @@ -2010,6 +2039,72 @@ } } }, + "Swashbuckle.AspNetCore/7.2.0": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "7.2.0", + "Swashbuckle.AspNetCore.SwaggerGen": "7.2.0", + "Swashbuckle.AspNetCore.SwaggerUI": "7.2.0" + }, + "build": { + "build/Swashbuckle.AspNetCore.props": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Swashbuckle.AspNetCore.props": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/7.2.0": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.6.22" + }, + "compile": { + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { + "type": "package", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "7.2.0" + }, + "compile": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "related": ".pdb;.xml" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { + "type": "package", + "compile": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "related": ".pdb;.xml" + } + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, "System.CodeDom/6.0.0": { "type": "package", "compile": { @@ -3445,6 +3540,237 @@ "microsoft.extensions.ambientmetadata.application.nuspec" ] }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "type": "package", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/Microsoft.Extensions.ApiDescription.Server.props", + "build/Microsoft.Extensions.ApiDescription.Server.targets", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", + "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", + "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", + "microsoft.extensions.apidescription.server.nuspec", + "tools/Newtonsoft.Json.dll", + "tools/dotnet-getdocument.deps.json", + "tools/dotnet-getdocument.dll", + "tools/dotnet-getdocument.runtimeconfig.json", + "tools/net461-x86/GetDocument.Insider.exe", + "tools/net461-x86/GetDocument.Insider.exe.config", + "tools/net461-x86/Microsoft.Win32.Primitives.dll", + "tools/net461-x86/System.AppContext.dll", + "tools/net461-x86/System.Buffers.dll", + "tools/net461-x86/System.Collections.Concurrent.dll", + "tools/net461-x86/System.Collections.NonGeneric.dll", + "tools/net461-x86/System.Collections.Specialized.dll", + "tools/net461-x86/System.Collections.dll", + "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", + "tools/net461-x86/System.ComponentModel.Primitives.dll", + "tools/net461-x86/System.ComponentModel.TypeConverter.dll", + "tools/net461-x86/System.ComponentModel.dll", + "tools/net461-x86/System.Console.dll", + "tools/net461-x86/System.Data.Common.dll", + "tools/net461-x86/System.Diagnostics.Contracts.dll", + "tools/net461-x86/System.Diagnostics.Debug.dll", + "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", + "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", + "tools/net461-x86/System.Diagnostics.Process.dll", + "tools/net461-x86/System.Diagnostics.StackTrace.dll", + "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461-x86/System.Diagnostics.Tools.dll", + "tools/net461-x86/System.Diagnostics.TraceSource.dll", + "tools/net461-x86/System.Diagnostics.Tracing.dll", + "tools/net461-x86/System.Drawing.Primitives.dll", + "tools/net461-x86/System.Dynamic.Runtime.dll", + "tools/net461-x86/System.Globalization.Calendars.dll", + "tools/net461-x86/System.Globalization.Extensions.dll", + "tools/net461-x86/System.Globalization.dll", + "tools/net461-x86/System.IO.Compression.ZipFile.dll", + "tools/net461-x86/System.IO.Compression.dll", + "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", + "tools/net461-x86/System.IO.FileSystem.Primitives.dll", + "tools/net461-x86/System.IO.FileSystem.Watcher.dll", + "tools/net461-x86/System.IO.FileSystem.dll", + "tools/net461-x86/System.IO.IsolatedStorage.dll", + "tools/net461-x86/System.IO.MemoryMappedFiles.dll", + "tools/net461-x86/System.IO.Pipes.dll", + "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", + "tools/net461-x86/System.IO.dll", + "tools/net461-x86/System.Linq.Expressions.dll", + "tools/net461-x86/System.Linq.Parallel.dll", + "tools/net461-x86/System.Linq.Queryable.dll", + "tools/net461-x86/System.Linq.dll", + "tools/net461-x86/System.Memory.dll", + "tools/net461-x86/System.Net.Http.dll", + "tools/net461-x86/System.Net.NameResolution.dll", + "tools/net461-x86/System.Net.NetworkInformation.dll", + "tools/net461-x86/System.Net.Ping.dll", + "tools/net461-x86/System.Net.Primitives.dll", + "tools/net461-x86/System.Net.Requests.dll", + "tools/net461-x86/System.Net.Security.dll", + "tools/net461-x86/System.Net.Sockets.dll", + "tools/net461-x86/System.Net.WebHeaderCollection.dll", + "tools/net461-x86/System.Net.WebSockets.Client.dll", + "tools/net461-x86/System.Net.WebSockets.dll", + "tools/net461-x86/System.Numerics.Vectors.dll", + "tools/net461-x86/System.ObjectModel.dll", + "tools/net461-x86/System.Reflection.Extensions.dll", + "tools/net461-x86/System.Reflection.Primitives.dll", + "tools/net461-x86/System.Reflection.dll", + "tools/net461-x86/System.Resources.Reader.dll", + "tools/net461-x86/System.Resources.ResourceManager.dll", + "tools/net461-x86/System.Resources.Writer.dll", + "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461-x86/System.Runtime.Extensions.dll", + "tools/net461-x86/System.Runtime.Handles.dll", + "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461-x86/System.Runtime.InteropServices.dll", + "tools/net461-x86/System.Runtime.Numerics.dll", + "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", + "tools/net461-x86/System.Runtime.Serialization.Json.dll", + "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", + "tools/net461-x86/System.Runtime.Serialization.Xml.dll", + "tools/net461-x86/System.Runtime.dll", + "tools/net461-x86/System.Security.Claims.dll", + "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", + "tools/net461-x86/System.Security.Cryptography.Csp.dll", + "tools/net461-x86/System.Security.Cryptography.Encoding.dll", + "tools/net461-x86/System.Security.Cryptography.Primitives.dll", + "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", + "tools/net461-x86/System.Security.Principal.dll", + "tools/net461-x86/System.Security.SecureString.dll", + "tools/net461-x86/System.Text.Encoding.Extensions.dll", + "tools/net461-x86/System.Text.Encoding.dll", + "tools/net461-x86/System.Text.RegularExpressions.dll", + "tools/net461-x86/System.Threading.Overlapped.dll", + "tools/net461-x86/System.Threading.Tasks.Parallel.dll", + "tools/net461-x86/System.Threading.Tasks.dll", + "tools/net461-x86/System.Threading.Thread.dll", + "tools/net461-x86/System.Threading.ThreadPool.dll", + "tools/net461-x86/System.Threading.Timer.dll", + "tools/net461-x86/System.Threading.dll", + "tools/net461-x86/System.ValueTuple.dll", + "tools/net461-x86/System.Xml.ReaderWriter.dll", + "tools/net461-x86/System.Xml.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.XDocument.dll", + "tools/net461-x86/System.Xml.XPath.dll", + "tools/net461-x86/System.Xml.XmlDocument.dll", + "tools/net461-x86/System.Xml.XmlSerializer.dll", + "tools/net461-x86/netstandard.dll", + "tools/net461/GetDocument.Insider.exe", + "tools/net461/GetDocument.Insider.exe.config", + "tools/net461/Microsoft.Win32.Primitives.dll", + "tools/net461/System.AppContext.dll", + "tools/net461/System.Buffers.dll", + "tools/net461/System.Collections.Concurrent.dll", + "tools/net461/System.Collections.NonGeneric.dll", + "tools/net461/System.Collections.Specialized.dll", + "tools/net461/System.Collections.dll", + "tools/net461/System.ComponentModel.EventBasedAsync.dll", + "tools/net461/System.ComponentModel.Primitives.dll", + "tools/net461/System.ComponentModel.TypeConverter.dll", + "tools/net461/System.ComponentModel.dll", + "tools/net461/System.Console.dll", + "tools/net461/System.Data.Common.dll", + "tools/net461/System.Diagnostics.Contracts.dll", + "tools/net461/System.Diagnostics.Debug.dll", + "tools/net461/System.Diagnostics.DiagnosticSource.dll", + "tools/net461/System.Diagnostics.FileVersionInfo.dll", + "tools/net461/System.Diagnostics.Process.dll", + "tools/net461/System.Diagnostics.StackTrace.dll", + "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", + "tools/net461/System.Diagnostics.Tools.dll", + "tools/net461/System.Diagnostics.TraceSource.dll", + "tools/net461/System.Diagnostics.Tracing.dll", + "tools/net461/System.Drawing.Primitives.dll", + "tools/net461/System.Dynamic.Runtime.dll", + "tools/net461/System.Globalization.Calendars.dll", + "tools/net461/System.Globalization.Extensions.dll", + "tools/net461/System.Globalization.dll", + "tools/net461/System.IO.Compression.ZipFile.dll", + "tools/net461/System.IO.Compression.dll", + "tools/net461/System.IO.FileSystem.DriveInfo.dll", + "tools/net461/System.IO.FileSystem.Primitives.dll", + "tools/net461/System.IO.FileSystem.Watcher.dll", + "tools/net461/System.IO.FileSystem.dll", + "tools/net461/System.IO.IsolatedStorage.dll", + "tools/net461/System.IO.MemoryMappedFiles.dll", + "tools/net461/System.IO.Pipes.dll", + "tools/net461/System.IO.UnmanagedMemoryStream.dll", + "tools/net461/System.IO.dll", + "tools/net461/System.Linq.Expressions.dll", + "tools/net461/System.Linq.Parallel.dll", + "tools/net461/System.Linq.Queryable.dll", + "tools/net461/System.Linq.dll", + "tools/net461/System.Memory.dll", + "tools/net461/System.Net.Http.dll", + "tools/net461/System.Net.NameResolution.dll", + "tools/net461/System.Net.NetworkInformation.dll", + "tools/net461/System.Net.Ping.dll", + "tools/net461/System.Net.Primitives.dll", + "tools/net461/System.Net.Requests.dll", + "tools/net461/System.Net.Security.dll", + "tools/net461/System.Net.Sockets.dll", + "tools/net461/System.Net.WebHeaderCollection.dll", + "tools/net461/System.Net.WebSockets.Client.dll", + "tools/net461/System.Net.WebSockets.dll", + "tools/net461/System.Numerics.Vectors.dll", + "tools/net461/System.ObjectModel.dll", + "tools/net461/System.Reflection.Extensions.dll", + "tools/net461/System.Reflection.Primitives.dll", + "tools/net461/System.Reflection.dll", + "tools/net461/System.Resources.Reader.dll", + "tools/net461/System.Resources.ResourceManager.dll", + "tools/net461/System.Resources.Writer.dll", + "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", + "tools/net461/System.Runtime.CompilerServices.VisualC.dll", + "tools/net461/System.Runtime.Extensions.dll", + "tools/net461/System.Runtime.Handles.dll", + "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", + "tools/net461/System.Runtime.InteropServices.dll", + "tools/net461/System.Runtime.Numerics.dll", + "tools/net461/System.Runtime.Serialization.Formatters.dll", + "tools/net461/System.Runtime.Serialization.Json.dll", + "tools/net461/System.Runtime.Serialization.Primitives.dll", + "tools/net461/System.Runtime.Serialization.Xml.dll", + "tools/net461/System.Runtime.dll", + "tools/net461/System.Security.Claims.dll", + "tools/net461/System.Security.Cryptography.Algorithms.dll", + "tools/net461/System.Security.Cryptography.Csp.dll", + "tools/net461/System.Security.Cryptography.Encoding.dll", + "tools/net461/System.Security.Cryptography.Primitives.dll", + "tools/net461/System.Security.Cryptography.X509Certificates.dll", + "tools/net461/System.Security.Principal.dll", + "tools/net461/System.Security.SecureString.dll", + "tools/net461/System.Text.Encoding.Extensions.dll", + "tools/net461/System.Text.Encoding.dll", + "tools/net461/System.Text.RegularExpressions.dll", + "tools/net461/System.Threading.Overlapped.dll", + "tools/net461/System.Threading.Tasks.Parallel.dll", + "tools/net461/System.Threading.Tasks.dll", + "tools/net461/System.Threading.Thread.dll", + "tools/net461/System.Threading.ThreadPool.dll", + "tools/net461/System.Threading.Timer.dll", + "tools/net461/System.Threading.dll", + "tools/net461/System.ValueTuple.dll", + "tools/net461/System.Xml.ReaderWriter.dll", + "tools/net461/System.Xml.XDocument.dll", + "tools/net461/System.Xml.XPath.XDocument.dll", + "tools/net461/System.Xml.XPath.dll", + "tools/net461/System.Xml.XmlDocument.dll", + "tools/net461/System.Xml.XmlSerializer.dll", + "tools/net461/netstandard.dll", + "tools/netcoreapp2.1/GetDocument.Insider.deps.json", + "tools/netcoreapp2.1/GetDocument.Insider.dll", + "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", + "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" + ] + }, "Microsoft.Extensions.Caching.Abstractions/9.0.10": { "sha512": "cL6iTxgJ4u5zP3eFOdBiDAtmE/B2WKTRhyJfEne7n6qvHpsMwwIDxljs210mWSO1ucBy7lR1Lo7/7kjeZeLcqQ==", "type": "package", @@ -4446,10 +4772,10 @@ "microsoft.net.http.headers.nuspec" ] }, - "Microsoft.OpenApi/1.6.17": { - "sha512": "Le+kehlmrlQfuDFUt1zZ2dVwrhFQtKREdKBo+rexOwaCoYP0/qpgT9tLxCsZjsgR5Itk1UKPcbgO+FyaNid/bA==", + "Microsoft.OpenApi/1.6.22": { + "sha512": "aBvunmrdu/x+4CaA/UP1Jx4xWGwk4kymhoIRnn2Vp+zi5/KOPQJ9EkSXHRUr01WcGKtYl3Au7XfkPJbU1G2sjQ==", "type": "package", - "path": "microsoft.openapi/1.6.17", + "path": "microsoft.openapi/1.6.22", "files": [ ".nupkg.metadata", ".signature.p7s", @@ -4457,7 +4783,7 @@ "lib/netstandard2.0/Microsoft.OpenApi.dll", "lib/netstandard2.0/Microsoft.OpenApi.pdb", "lib/netstandard2.0/Microsoft.OpenApi.xml", - "microsoft.openapi.1.6.17.nupkg.sha512", + "microsoft.openapi.1.6.22.nupkg.sha512", "microsoft.openapi.nuspec" ] }, @@ -5265,6 +5591,25 @@ "opentelemetry.instrumentation.aspnetcore.nuspec" ] }, + "OpenTelemetry.Instrumentation.Http/1.11.0": { + "sha512": "1ncYPNmMaYNPX664uo3FlmSVGETBKQbBvarbGgB5ZynERTFmCsZ7UqefvVe3vnPYOIAGOjbMAbprYF2BfMielg==", + "type": "package", + "path": "opentelemetry.instrumentation.http/1.11.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "lib/net462/OpenTelemetry.Instrumentation.Http.dll", + "lib/net462/OpenTelemetry.Instrumentation.Http.xml", + "lib/net8.0/OpenTelemetry.Instrumentation.Http.dll", + "lib/net8.0/OpenTelemetry.Instrumentation.Http.xml", + "lib/netstandard2.0/OpenTelemetry.Instrumentation.Http.dll", + "lib/netstandard2.0/OpenTelemetry.Instrumentation.Http.xml", + "opentelemetry-icon-color.png", + "opentelemetry.instrumentation.http.1.11.0.nupkg.sha512", + "opentelemetry.instrumentation.http.nuspec" + ] + }, "Polly/7.2.4": { "sha512": "bw00Ck5sh6ekduDE3mnCo1ohzuad946uslCDEENu3091+6UKnBuKLo4e+yaNcCzXxOZCXWY2gV4a35+K1d4LDA==", "type": "package", @@ -5596,6 +5941,92 @@ "serilog.sinks.file.nuspec" ] }, + "Swashbuckle.AspNetCore/7.2.0": { + "sha512": "vJv19UpWm6OOgnS9QLDnWARNVasXUfj8SFvlG7UVALm4nBnfwRnEky7C0veSDqMUmBeMPC6Ec3d6G1ts/J04Uw==", + "type": "package", + "path": "swashbuckle.aspnetcore/7.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "build/Swashbuckle.AspNetCore.props", + "buildMultiTargeting/Swashbuckle.AspNetCore.props", + "docs/package-readme.md", + "swashbuckle.aspnetcore.7.2.0.nupkg.sha512", + "swashbuckle.aspnetcore.nuspec" + ] + }, + "Swashbuckle.AspNetCore.Swagger/7.2.0": { + "sha512": "y27fNDfIh1vGhJjXYynLcZjl7DLOW1bSO2MDsY9wB4Zm1fdxpPsuBSiR4U+0acWlAqLmnuOPKr/OeOgwRUkBlw==", + "type": "package", + "path": "swashbuckle.aspnetcore.swagger/7.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/net9.0/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swagger.7.2.0.nupkg.sha512", + "swashbuckle.aspnetcore.swagger.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { + "sha512": "pMrTxGVuXM7t4wqft5CNNU8A0++Yw5kTLmYhB6tbEcyBfO8xEF/Y8pkJhO6BZ/2MYONrRYoQTfPFJqu8fOf5WQ==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggergen/7.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512", + "swashbuckle.aspnetcore.swaggergen.nuspec" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { + "sha512": "hgrXeKzyp5OGN8qVvL7A+vhmU7mDJTfGpiMBRL66IcfLOyna8UTLtn3cC3CghamXpRDufcc9ciklTszUGEQK0w==", + "type": "package", + "path": "swashbuckle.aspnetcore.swaggerui/7.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", + "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", + "package-readme.md", + "swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512", + "swashbuckle.aspnetcore.swaggerui.nuspec" + ] + }, "System.CodeDom/6.0.0": { "sha512": "CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==", "type": "package", @@ -6058,8 +6489,10 @@ "OpenTelemetry.Exporter.OpenTelemetryProtocol >= 1.11.0", "OpenTelemetry.Extensions.Hosting >= 1.11.0", "OpenTelemetry.Instrumentation.AspNetCore >= 1.11.0", + "OpenTelemetry.Instrumentation.Http >= 1.11.0", "Serilog.AspNetCore >= 9.0.0", - "Serilog.Sinks.Console >= 6.0.0" + "Serilog.Sinks.Console >= 6.0.0", + "Swashbuckle.AspNetCore >= 7.2.0" ] }, "packageFolders": { @@ -6148,6 +6581,10 @@ "target": "Package", "version": "[1.11.0, )" }, + "OpenTelemetry.Instrumentation.Http": { + "target": "Package", + "version": "[1.11.0, )" + }, "Serilog.AspNetCore": { "target": "Package", "version": "[9.0.0, )" @@ -6155,6 +6592,10 @@ "Serilog.Sinks.Console": { "target": "Package", "version": "[6.0.0, )" + }, + "Swashbuckle.AspNetCore": { + "target": "Package", + "version": "[7.2.0, )" } }, "imports": [ diff --git a/src/Fengling.AuthService/obj/project.nuget.cache b/src/Fengling.AuthService/obj/project.nuget.cache index 6f24693..426b548 100644 --- a/src/Fengling.AuthService/obj/project.nuget.cache +++ b/src/Fengling.AuthService/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "c8e0guGxU04=", + "dgSpecHash": "MNgx8yt4HCE=", "success": true, "projectFilePath": "/Users/movingsam/Fengling.Refactory.Buiding/src/Fengling.AuthService/Fengling.AuthService.csproj", "expectedPackageFiles": [ @@ -24,6 +24,7 @@ "/Users/movingsam/.nuget/packages/microsoft.entityframeworkcore.design/9.0.3/microsoft.entityframeworkcore.design.9.0.3.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.entityframeworkcore.relational/9.0.10/microsoft.entityframeworkcore.relational.9.0.10.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.ambientmetadata.application/9.10.0/microsoft.extensions.ambientmetadata.application.9.10.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/microsoft.extensions.apidescription.server/6.0.5/microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.caching.abstractions/9.0.10/microsoft.extensions.caching.abstractions.9.0.10.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.caching.memory/9.0.10/microsoft.extensions.caching.memory.9.0.10.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.extensions.compliance.abstractions/9.10.0/microsoft.extensions.compliance.abstractions.9.10.0.nupkg.sha512", @@ -61,7 +62,7 @@ "/Users/movingsam/.nuget/packages/microsoft.identitymodel.protocols/8.14.0/microsoft.identitymodel.protocols.8.14.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.identitymodel.tokens/8.14.0/microsoft.identitymodel.tokens.8.14.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/microsoft.net.http.headers/9.0.10/microsoft.net.http.headers.9.0.10.nupkg.sha512", - "/Users/movingsam/.nuget/packages/microsoft.openapi/1.6.17/microsoft.openapi.1.6.17.nupkg.sha512", + "/Users/movingsam/.nuget/packages/microsoft.openapi/1.6.22/microsoft.openapi.1.6.22.nupkg.sha512", "/Users/movingsam/.nuget/packages/mono.texttemplating/3.0.0/mono.texttemplating.3.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/npgsql/9.0.2/npgsql.9.0.2.nupkg.sha512", "/Users/movingsam/.nuget/packages/npgsql.entityframeworkcore.postgresql/9.0.3/npgsql.entityframeworkcore.postgresql.9.0.3.nupkg.sha512", @@ -91,6 +92,7 @@ "/Users/movingsam/.nuget/packages/opentelemetry.exporter.opentelemetryprotocol/1.11.0/opentelemetry.exporter.opentelemetryprotocol.1.11.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/opentelemetry.extensions.hosting/1.11.0/opentelemetry.extensions.hosting.1.11.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/opentelemetry.instrumentation.aspnetcore/1.11.0/opentelemetry.instrumentation.aspnetcore.1.11.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/opentelemetry.instrumentation.http/1.11.0/opentelemetry.instrumentation.http.1.11.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/polly/7.2.4/polly.7.2.4.nupkg.sha512", "/Users/movingsam/.nuget/packages/polly.core/8.4.2/polly.core.8.4.2.nupkg.sha512", "/Users/movingsam/.nuget/packages/polly.extensions/8.4.2/polly.extensions.8.4.2.nupkg.sha512", @@ -105,6 +107,10 @@ "/Users/movingsam/.nuget/packages/serilog.sinks.console/6.0.0/serilog.sinks.console.6.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/serilog.sinks.debug/3.0.0/serilog.sinks.debug.3.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/serilog.sinks.file/6.0.0/serilog.sinks.file.6.0.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/swashbuckle.aspnetcore/7.2.0/swashbuckle.aspnetcore.7.2.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/swashbuckle.aspnetcore.swagger/7.2.0/swashbuckle.aspnetcore.swagger.7.2.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/swashbuckle.aspnetcore.swaggergen/7.2.0/swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512", + "/Users/movingsam/.nuget/packages/swashbuckle.aspnetcore.swaggerui/7.2.0/swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/system.codedom/6.0.0/system.codedom.6.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/system.collections.immutable/7.0.0/system.collections.immutable.7.0.0.nupkg.sha512", "/Users/movingsam/.nuget/packages/system.composition/7.0.0/system.composition.7.0.0.nupkg.sha512",