diff --git a/Directory.Build.props b/Directory.Build.props index 8f17e56..69e8126 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,6 @@ true - NU1902;NU1903 true latest-recommended diff --git a/Directory.Packages.props b/Directory.Packages.props index 96049bb..949834d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -7,30 +7,37 @@ - - - - - - - + + + + + + + + - - - - + + + + + + + + + - - - - - + + + + + + @@ -42,7 +49,7 @@ - + diff --git a/EntraAuthPatterns.slnx b/EntraAuthPatterns.slnx index a1214f9..8b496a2 100644 --- a/EntraAuthPatterns.slnx +++ b/EntraAuthPatterns.slnx @@ -1,5 +1,6 @@ + diff --git a/src/Ftgo.AccountingService/CertificateTokenProvider.cs b/src/Ftgo.AccountingService/CertificateTokenProvider.cs index bc88c3e..5692477 100644 --- a/src/Ftgo.AccountingService/CertificateTokenProvider.cs +++ b/src/Ftgo.AccountingService/CertificateTokenProvider.cs @@ -17,35 +17,79 @@ internal sealed class KeyVaultCertOptions { [Required, Url] public string Uri { get; init; } = string.Empty; [Required] public string CertName { get; init; } = string.Empty; + + /// + /// Optional user-assigned managed identity client ID. Leave empty to use system-assigned MI. + /// + public string? ManagedIdentityClientId { get; init; } } /// /// AccountingService — app token via CERTIFICATE (cert pulled from Key Vault with its private key). +/// Cert is loaded asynchronously in so the DI container stays free of sync I/O, +/// and the credential pulling the cert is restricted to +/// (no fallback chain) for predictable production behaviour. /// -internal sealed class CertificateTokenProvider : IAppTokenProvider, IDisposable +internal sealed partial class CertificateTokenProvider : IAppTokenProvider, IHostedService, IDisposable { - private readonly IConfidentialClientApplication _app; - private readonly X509Certificate2 _certificate; + private readonly IOptions _aad; + private readonly IOptions _kv; + private readonly ILogger _logger; + private IConfidentialClientApplication? _app; + private X509Certificate2? _certificate; public CertificateTokenProvider( IOptions aad, - IOptions kv) + IOptions kv, + ILogger logger) { - var certClient = new CertificateClient(new Uri(kv.Value.Uri), new DefaultAzureCredential()); - _certificate = certClient.DownloadCertificate(kv.Value.CertName); + _aad = aad; + _kv = kv; + _logger = logger; + } + + public async Task StartAsync(CancellationToken cancellationToken) + { + var credential = string.IsNullOrWhiteSpace(_kv.Value.ManagedIdentityClientId) + ? new ManagedIdentityCredential(ManagedIdentityId.SystemAssigned) + : new ManagedIdentityCredential( + ManagedIdentityId.FromUserAssignedClientId(_kv.Value.ManagedIdentityClientId)); + + var certClient = new CertificateClient(new Uri(_kv.Value.Uri), credential); + var downloaded = await certClient.DownloadCertificateAsync( + new DownloadCertificateOptions(_kv.Value.CertName) + { + KeyStorageFlags = X509KeyStorageFlags.EphemeralKeySet, + }, + cancellationToken).ConfigureAwait(false); + + _certificate = downloaded.Value; _app = ConfidentialClientApplicationBuilder - .Create(aad.Value.ClientId) - .WithAuthority($"https://login.microsoftonline.com/{aad.Value.TenantId}") + .Create(_aad.Value.ClientId) + .WithAuthority($"https://login.microsoftonline.com/{_aad.Value.TenantId}") .WithCertificate(_certificate) .Build(); + + LogCertLoaded(_kv.Value.CertName); } + public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; + public async ValueTask GetAccessTokenAsync(string scope, CancellationToken cancellationToken) { - var result = await _app.AcquireTokenForClient([scope]).ExecuteAsync(cancellationToken); + if (_app is null) + { + throw new InvalidOperationException( + $"{nameof(CertificateTokenProvider)} was used before {nameof(StartAsync)} completed."); + } + + var result = await _app.AcquireTokenForClient([scope]).ExecuteAsync(cancellationToken).ConfigureAwait(false); return result.AccessToken; } - public void Dispose() => _certificate.Dispose(); + public void Dispose() => _certificate?.Dispose(); + + [LoggerMessage(EventId = 4000, Level = Microsoft.Extensions.Logging.LogLevel.Information, Message = "Certificate '{CertName}' loaded from Key Vault.")] + private partial void LogCertLoaded(string certName); } diff --git a/src/Ftgo.AccountingService/Ftgo.AccountingService.csproj b/src/Ftgo.AccountingService/Ftgo.AccountingService.csproj index 77c785a..ae77402 100644 --- a/src/Ftgo.AccountingService/Ftgo.AccountingService.csproj +++ b/src/Ftgo.AccountingService/Ftgo.AccountingService.csproj @@ -11,7 +11,7 @@ - + PreserveNewest diff --git a/src/Ftgo.AccountingService/Program.cs b/src/Ftgo.AccountingService/Program.cs index af2f242..b7eceb5 100644 --- a/src/Ftgo.AccountingService/Program.cs +++ b/src/Ftgo.AccountingService/Program.cs @@ -20,7 +20,12 @@ builder.Services.AddEntraAuthTelemetry("Ftgo.AccountingService"); builder.Services.AddEntraAuthDownstreamApi(); -builder.Services.AddSingleton(); + +// CertificateTokenProvider must be registered as a hosted service so its async cert load +// runs before DownstreamProbeService (hosted services start in registration order). +builder.Services.AddSingleton(); +builder.Services.AddSingleton(sp => sp.GetRequiredService()); +builder.Services.AddHostedService(sp => sp.GetRequiredService()); builder.Services.AddHostedService(); await builder.Build().RunAsync(); diff --git a/src/Ftgo.AccountingService/packages.lock.json b/src/Ftgo.AccountingService/packages.lock.json index 76edf1a..c2e65eb 100644 --- a/src/Ftgo.AccountingService/packages.lock.json +++ b/src/Ftgo.AccountingService/packages.lock.json @@ -4,13 +4,11 @@ "net10.0": { "Azure.Identity": { "type": "Direct", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -39,53 +37,53 @@ }, "Microsoft.Extensions.Configuration.Json": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "BIOPTEAZoeWbHlDT9Zudu+rpecZizFwhdIFRiyZKDml7JbayXmfTXKUt+ezifsSXfBkWDdJM10oDOxo8pufEng==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Hosting": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "yKJiVdXkSfe9foojGpBRbuDPQI8YD71IO/aE8ehGjRHE0VkEF/YWkW6StthwuFF146pc2lypZrpk/Tks6Plwhw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "10.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "10.0.0", - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Logging.Console": "10.0.0", - "Microsoft.Extensions.Logging.Debug": "10.0.0", - "Microsoft.Extensions.Logging.EventLog": "10.0.0", - "Microsoft.Extensions.Logging.EventSource": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "M/vBpfWcschvS2EUeq7cHfscsxabiGTptXwV7GeSueovGiSoNjyo1j5PMcWuOAAQrRW3nRqxZk8NeumrmpzUBg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.Configuration.CommandLine": "10.0.7", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.Configuration.UserSecrets": "10.0.7", + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Logging.Console": "10.0.7", + "Microsoft.Extensions.Logging.Debug": "10.0.7", + "Microsoft.Extensions.Logging.EventLog": "10.0.7", + "Microsoft.Extensions.Logging.EventSource": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Identity.Client": { "type": "Direct", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, "SonarAnalyzer.CSharp": { @@ -96,576 +94,369 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0", - "Microsoft.Extensions.Logging.Abstractions": "3.0.3" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" - } - }, - "Microsoft.AspNetCore.Authentication.OpenIdConnect": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" - } - }, - "Microsoft.AspNetCore.Cryptography.Internal": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "M1dzTEl+2+RqT4vWcqEpWasPXHd58wC93U7QMlmPSmx+qixyVxCQjZ183wr7Wa68b4pF7wC501MU9rdA0ZNhMg==" - }, - "Microsoft.AspNetCore.DataProtection": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "mrhTnqMHkaVmaNZOWobg7ior5BELrlC5dC2r3FMVwT0bfOlonOe76B83e3D98Cl/zR5Szhfok2BQmkw6xDvHfg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "9.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, - "Microsoft.AspNetCore.DataProtection.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "o7JVGMXofZ4IuQdyoL0eKC1GnNmviZt2aI7CGHnQjqbz9hIrYim3DUfCKpvKaVzLWfzfgmwaXNg8Zx7fFQaBbA==" - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" - } - }, - "Microsoft.Extensions.Caching.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" - } - }, - "Microsoft.Extensions.Caching.Memory": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==", + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" + "Microsoft.Extensions.Configuration": "10.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1" } }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==", + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", + "resolved": "10.0.7", + "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", + "resolved": "10.0.7", + "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", + "resolved": "10.0.7", + "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "CRj5clwZciVs46GMhAthkFq3+JiNM15Bz9CRlCZLBmRdggD6RwoBphRJ+EUDK2f+cZZ1L2zqVaQrn1KueoU5Kg==", + "resolved": "10.0.7", + "contentHash": "3lNjglxfFxOzI9zG+3HSg/YSGqo//8Fqw6u6iuIamZb4JCorbA3JLaeWOpfKTAPi2UJwaispOXWx14dUqcGz4A==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "TmFegsI/uCdwMBD4yKpmO+OkjVNHQL49Dh/ep83NI5rPUEoBK9OdsJo1zURc1A2FuS/R/Pos3wsTjlyLnguBLA==", + "resolved": "10.0.7", + "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "LqCTyF0twrG4tyEN6PpSC5ewRBDwCBazRUfCOdRddwaQ3n2S57GDDeYOlTLcbV/V2dxSSZWg5Ofr48h6BsBmxw==", + "resolved": "10.0.7", + "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "B4qHB6gQ2B3I52YRohSV7wetp01BQzi8jDmrtiVm6e4l8vH5vjqwxWcR5wumGWjdBkj1asJLLsDIocdyTQSP0A==", + "resolved": "10.0.7", + "contentHash": "YqVIICoIdl0016wkeO2WQS+uEbEXbUhMLKdC5rZNl1X3nu59F+nwaAHdHjq/4OK+Cx31DYmNUSFh+MUot8qSDw==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", + "resolved": "10.0.7", + "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" + "resolved": "10.0.7", + "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==", + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "xjkxIPgrT0mKTfBwb+CVqZnRchyZgzKIfDQOp8z+WUC6vPe3WokIf71z+hJPkH0YBUYJwa7Z/al1R087ib9oiw==", + "resolved": "10.0.7", + "contentHash": "l+smp1qPlU0OUXD0OGfdp7OUFrbdq7ZaP5T7m2WpfZ4RFKD7iG73BAT7tjSMxNmbSXkhAn1jYHOAqzYG1r9sNg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", + "resolved": "10.0.7", + "contentHash": "uJ9JP677y+uy+C0vtaSfi7XXgFAdz8DhU3M9lwwIXDfQKcyQ0yxM9DVYa0NXDtdVTYA2eBUtVFZ8LY0GCdeE/w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==", + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==", + "resolved": "10.0.7", + "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "UZUQ74lQMmvcprlG8w+XpxBbyRDQqfb7GAnccITw32hdkUBlmm9yNC4xl4aR9YjgV3ounZcub194sdmLSfBmPA==", + "resolved": "10.0.7", + "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileSystemGlobbing": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5hfVl/e+bx1px2UkN+1xXhd3hu7Ui6ENItBzckFaRDQXfr+SHT/7qrCDrlQekCF/PBtEu2vtk87U2+gDEF8EhQ==" + "resolved": "10.0.7", + "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA==" }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==", + "resolved": "10.0.7", + "contentHash": "5s8d6qC6EA8UOI4wR/+zlsq7SXttJMRb9d7zvVZ7+bE3CQEfVtC9ITUDCommm87R1zzj6WJBbCnztuIJXnP3DA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Http": "10.0.0", - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Http": "10.0.1", + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", + "resolved": "10.0.7", + "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", + "resolved": "10.0.7", + "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", + "resolved": "10.0.7", + "contentHash": "7BBnoGF37USiu7j434put9mDp7EjdlNDIZsR4vHfC1FbLZeLqiWjgJbeEtF0p59Ryqt8AtraHawf0ZKbe5jibg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "treWetuksp8LVb09fCJ5zNhNJjyDkqzVm83XxcrlWQnAdXznR140UUXo8PyEPBvFlHhjKhFQZEOP3Sk/ByCvEw==", + "resolved": "10.0.7", + "contentHash": "DA++Es6v6W0HfrOrw+K8WyN6jNnZHp640PDdEvl8yfeVmgflKdn6vSSFvufNUSOuY+M2ZaSUgfY+jUKtNpXcCw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "A/4vBtVaySLBGj4qluye+KSbeVCCMa6GcTbxf2YgnSDHs9b9105+VojBJ1eJPel8F1ny0JOh+Ci3vgCKn69tNQ==", + "resolved": "10.0.7", + "contentHash": "Y6DSt/JZApunYWKqTtqbdsR6iqAvHx3D0tavbNJ1rnC24MUpF+3XO/VKgFi+9PFqMyvQ2GHBBGb8H3cLSw7rDg==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EWda5nSXhzQZr3yJ3+XgIApOek+Hm+txhWCEzWNVPp/OfimL4qmvctgXu87m+S2RXw/AoUP8aLMNicJ2KWblVA==", + "resolved": "10.0.7", + "contentHash": "1C8eTuxF6BLncNSJ1HCfmaBcjpUSqQDPlBVdYTlet9oldHTPpNh9iatxSJLs8TOqdp/FOpH+nSLdBve7fu9mTQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "System.Diagnostics.EventLog": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Diagnostics.EventLog": "10.0.7" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "+Qc+kgoJi1w2A/Jm+7h04LcK2JoJkwAxKg7kBakkNRcemTmRGocqPa7rVNVGorTYruFrUS25GwkFNtOECnjhXg==", + "resolved": "10.0.7", + "contentHash": "YWfndnDX1jVMGCN8d5T+rO+BO8sDw6BkYlUk0BYui+WP7+HhlWx8QLdA4yUDjrkGVb3AQxIWWEPVKw5Nnfj5GQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.ObjectPool": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bpeCq0IYmVLACyEUMzFIOQX+zZUElG1t+nu1lSxthe7B+1oNYking7b91305+jNB6iwojp9fqTY9O+Nh7ULQxg==" + "resolved": "10.0.1", + "contentHash": "HqAEbtoAhgvH53c54IV5e4vQ60PYvl7Z/WIHsbet+UGGE7n+7dwVNXw1mb9LZlWbsxnupCevvtgIne5P//ZKpQ==" }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", + "resolved": "10.0.7", + "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" + "resolved": "10.0.7", + "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw==" }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics": "10.0.1", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Options": "10.0.1" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, - "Microsoft.Identity.Web.Certificate": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", - "dependencies": { - "Azure.Identity": "1.11.4", - "Azure.Security.KeyVault.Certificates": "4.6.0", - "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" - } - }, - "Microsoft.Identity.Web.Certificateless": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" - } - }, - "Microsoft.Identity.Web.Diagnostics": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" - }, - "Microsoft.Identity.Web.TokenAcquisition": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", - "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.Identity.Web.TokenCache": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", - "dependencies": { - "Microsoft.AspNetCore.DataProtection": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" - } - }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Logging": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.LoggingExtensions": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.1", - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols.OpenIdConnect": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } + "resolved": "8.14.0", + "contentHash": "iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==" }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Configuration": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "OpenTelemetry.Api": "1.10.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -694,185 +485,137 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Extensions.Logging.Abstractions": "10.0.3", + "System.Memory.Data": "10.0.3" } }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "uaFRda9NjtbJRkdx311eXlAA3n2em7223c1A8d1VWyl+4FL9vkG7y2lpPfBU9HYdj/9KgdRNdn1vFK8ZYCYT/A==" - }, - "System.IdentityModel.Tokens.Jwt": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", - "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "10.0.7", + "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ==" }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" - }, - "System.Security.Cryptography.Pkcs": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", "resolved": "4.5.0", "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" }, - "System.Security.Cryptography.Xml": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "GQZn5wFd+pyOfwWaCbqxG7trQ5ox01oR8kYgWflgtux4HiUNihGEgG2TktRWyH+9bw7NoEju1D41H/upwQeFQw==", - "dependencies": { - "System.Security.Cryptography.Pkcs": "9.0.0" - } - }, "System.Threading.RateLimiting": { "type": "Transitive", "resolved": "8.0.0", "contentHash": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==" }, - "ftgo.auth": { + "ftgo.auth.client": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" - } - }, - "Microsoft.AspNetCore.Authentication.JwtBearer": { - "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" + "Microsoft.Extensions.Hosting": "[10.0.7, )", + "Microsoft.Extensions.Http": "[10.0.7, )", + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "Microsoft.Extensions.Options": "[10.0.7, )", + "Microsoft.Extensions.Options.DataAnnotations": "[10.0.7, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Microsoft.Extensions.Http": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "r+mSvm/Ryc/iYcc9zcUG5VP9EBB8PL1rgVU6macEaYk45vmGRk9PntM3aynFKN6s3Q4WW36kedTycIctctpTUQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "1wbd+RPhRo3hJKNJhdGEO5ls0LGe55Ho4BUjlFtRUrWxDVVBd7g0Ydq9fbNy86pmvx/j7AGcSPo7YNCo1IRI6Q==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Resilience": "10.1.0" } }, "Microsoft.Extensions.Options": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, - "Microsoft.Identity.Web": { + "Microsoft.Extensions.Options.DataAnnotations": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "KWepqdSD4PxhFvVh3mckkvJ03u3q/VChkr6nT3nf5mm2XBk8ojxt2E4It0RMblb3GE7hJ0zQzFzxGKL0d6TfXA==", "dependencies": { - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, - "Microsoft.Identity.Web.DownstreamApi": { + "OpenTelemetry.Api": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", - "dependencies": { - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" - } + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", - "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "OpenTelemetry": "1.10.0" - } - }, - "OpenTelemetry.Instrumentation.AspNetCore": { - "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.ApiGateway/Program.cs b/src/Ftgo.ApiGateway/Program.cs index bccb7e0..985b32b 100644 --- a/src/Ftgo.ApiGateway/Program.cs +++ b/src/Ftgo.ApiGateway/Program.cs @@ -3,16 +3,15 @@ var builder = WebApplication.CreateBuilder(args); -builder.Services.AddEntraAuth(builder.Configuration); -builder.Services.AddEntraAuthTelemetry("Ftgo.ApiGateway"); -builder.Services.AddEntraAuthProblemDetails(); - -builder.Services - .AddMicrosoftIdentityWebApiAuthentication(builder.Configuration, "AzureAd", subscribeToJwtBearerMiddlewareDiagnosticsEvents: false) - .EnableTokenAcquisitionToCallDownstreamApi() +builder.Services.AddEntraAuth(builder.Configuration, auth => +{ + auth.EnableTokenAcquisitionToCallDownstreamApi(_ => { }) .AddDownstreamApi("Orders", builder.Configuration.GetSection("DownstreamApis:Orders")) .AddDownstreamApi("Restaurants", builder.Configuration.GetSection("DownstreamApis:Restaurants")) .AddDistributedTokenCaches(); +}); +builder.Services.AddEntraAuthWebTelemetry("Ftgo.ApiGateway"); +builder.Services.AddEntraAuthProblemDetails(); builder.Services.AddDistributedMemoryCache(); builder.Services.AddControllers(); diff --git a/src/Ftgo.ApiGateway/packages.lock.json b/src/Ftgo.ApiGateway/packages.lock.json index 4a4794f..63c234a 100644 --- a/src/Ftgo.ApiGateway/packages.lock.json +++ b/src/Ftgo.ApiGateway/packages.lock.json @@ -19,26 +19,26 @@ }, "Microsoft.Identity.Web": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "rqMufh64Woj/kc39d9iCb12BTtBj9H40haLUemRAwoqvqSomYPlbMOwt1UD1Y5aMqmc8aYF06U5ATY8Qnw2iFg==", "dependencies": { - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "Microsoft.IdentityModel.Validators": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.DownstreamApi": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "MXCBVZO9Oj2hSZkPvEFcRg1/fyKNjqJQzAVxUjdCOzno3rd1BeVhuMddk9aYNJ3r79GD5lA3xJeneXo+SKlKCA==", "dependencies": { - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0" } }, "SonarAnalyzer.CSharp": { @@ -49,241 +49,185 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, "Microsoft.AspNetCore.Authentication.OpenIdConnect": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", + "resolved": "10.0.0", + "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==" + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==" }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==" + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==" + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==" }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==" + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==" }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.Identity.Web.Certificate": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", + "resolved": "4.8.0", + "contentHash": "G4nkrs1pKg6NxuSvyoRzokLfsfd2v5pXpXS1XUvHstvdWkQRBw8kTbSwRCvzdRFA1MW7Ct14zcp1P4kej7dB+g==", "dependencies": { "Azure.Identity": "1.11.4", "Azure.Security.KeyVault.Certificates": "4.6.0", "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.Diagnostics": "4.8.0" } }, "Microsoft.Identity.Web.Certificateless": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", + "resolved": "4.8.0", + "contentHash": "TegoXg/SX1mca1ygTZWTgLTXIZPQudmg5SLr9f50A8fzC4oFGkNOUfa9wii9SRikBGg4Sc31QxUeM/MMFyIX6A==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.IdentityModel.JsonWebTokens": "8.15.0" } }, "Microsoft.Identity.Web.Diagnostics": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" + "resolved": "4.8.0", + "contentHash": "oWYVlq2h86yAmqJHcDK0JrJfhDZTnF1M1vyY9mGx+x5E5GpNml7hTI1N1Kq4Z9JUtaPvz4dN8MgfUn7QyHZ13Q==" }, "Microsoft.Identity.Web.TokenAcquisition": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", + "resolved": "4.8.0", + "contentHash": "Nm4YJxUQuIThoRWprg9bv2vCDs2zzlOo7B4nfHoG3Spw5Ege2edFLY+iEtRh+GYW2Fhn97rYmwCgmaQ2IhYZxA==", "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.AspNetCore.Authentication.JwtBearer": "10.0.0", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Logging": "8.15.0", + "Microsoft.IdentityModel.LoggingExtensions": "8.15.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.TokenCache": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", + "resolved": "4.8.0", + "contentHash": "2TL0zev2SREJoIzZi9dQ+vv/Us6Q1ZpZD02ti0LhFDpFg/vKGD98pHmcz+f216PbWHzQpERzS3tMgcIGt2lywQ==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Web.Diagnostics": "4.8.0", + "System.Security.Cryptography.Pkcs": "10.0.6" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "8.17.0", + "contentHash": "6NrxQGcZg6IunkN8K2F0UVMavNpfCjbjjjON7PYcL8FwI8aULKUreiHsRX/yaA8j3XsTJnQKUYpoQk5gBjULZw==" }, "Microsoft.IdentityModel.Logging": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", + "resolved": "8.17.0", + "contentHash": "w1vjfri0BWqW7RkSZY3ZsqekNfIJJg5BQSFs2j+a+pCXOVrkezmJcn74pT3djwjXJh71577C6wJQgNc2UPz30w==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.17.0" } }, "Microsoft.IdentityModel.LoggingExtensions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", + "resolved": "8.15.0", + "contentHash": "u0/PCw/1sMka5DHi1SIviM74AKMm5k9C4FZNMCap+AzH+dGhX9yPZxZNisvnxmqdhDSQemiz+GwLdTIFDlgEog==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.15.0" } }, "Microsoft.IdentityModel.Protocols": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", + "resolved": "8.17.0", + "contentHash": "TYbO2KMvWvu8bxbEDCgzggNckCGjwr6NxFf2VYW7PpmCRbsoMNNgVYlCiRvy748t6gj5MJ8v/jcqWrcLMg6PaQ==", "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "Microsoft.IdentityModel.Protocols.OpenIdConnect": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", + "resolved": "8.17.0", + "contentHash": "8DuZM96o2epBioyp56Q+H8bdGwO8FnU4nQMa0c6pboe9+monH9PZGY+CHKmsdw90ObJ5OXtiKG1TWuLbJp2VvQ==", "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "Microsoft.OpenApi": { @@ -293,23 +237,18 @@ }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "OpenTelemetry.Api": "1.10.0" + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -335,30 +274,30 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "System.Memory.Data": "10.0.3" } }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", + "resolved": "8.17.0", + "contentHash": "nKikRYheDeSaXA3wGr2otwaiRFygBa25m+hc7MEomZVIEWZvKVqd8wgP9yn+8QpLRGgw//dUs4LErGx9gtVmAA==", "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.JsonWebTokens": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.6", + "contentHash": "88tquaGJ1htm4DHWS6x9jwER7sFET2SVRN7HqO1FYZwE0diDcUmz0ajhVa8ZD2HGhDJBueSPjP/gqyP3gXtT2A==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", @@ -368,25 +307,30 @@ "ftgo.auth": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" + "Ftgo.Auth.Client": "[1.0.0, )", + "Microsoft.Identity.Web": "[4.8.0, )", + "Microsoft.Identity.Web.DownstreamApi": "[4.8.0, )", + "Microsoft.IdentityModel.Validators": "[8.17.0, )", + "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.2, )" + } + }, + "ftgo.auth.client": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Azure.Identity": { "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -409,77 +353,117 @@ }, "Microsoft.AspNetCore.Authentication.JwtBearer": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "g8klpd7OFJfJOq1EJKcBO8C8I8Dp0QUWoKDPUvvJYe+xunVyBHq6YxfF2CAc6+rkniV25iaWl+6RK87c25n4lA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.Resilience": "10.1.0" } }, + "Microsoft.Identity.Abstractions": { + "type": "CentralTransitive", + "requested": "[12.0.0, )", + "resolved": "12.0.0", + "contentHash": "PW7ymSop61IsKJwOkPibZcCslW+mRL8uz+AmB9ixe9HBCQjV/duEIbjNzjRcD7tDn563TqTsg2hoFwo62RR6YA==" + }, "Microsoft.Identity.Client": { "type": "CentralTransitive", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "JbFZ3OVwtvqcqgBL0cIkhRYbIP7u9GIUYLOgbNqLWtBtZY8tGDpdGyXMzUVX0gVHq1ovuHsKZrkVv+ziHEnBHw==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "8.17.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "teaW35URIV2x78Tzk+dVJiC4M62/9mQoSEoDjDGoEZmcQa3H2rE+XQpm9Tmdo9KK1Lcrnve4zoyLavl69kCFGg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "8.17.0" + } + }, + "Microsoft.IdentityModel.Validators": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "Q5nFG+xl7PXh1Blb2q8a1/PPZH+/7xee0nNwN/15tcuzPQKSHnzqvfg5dEdWm5Ax2GN9e6oX4K5wo22/VB+b/w==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "8.17.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.AspNetCore": { "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.2, )", + "resolved": "1.15.2", + "contentHash": "2nPd7r0ug/gd6/CNFL6Rlu+RSQ9WYGSGHAYQ1ssbSqyzKJpqTunfx2I/1O0WB5k+L0cyXbG4XVZpoSoUc3M7wg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.Auth/DownstreamApiClient.cs b/src/Ftgo.Auth.Client/DownstreamApiClient.cs similarity index 100% rename from src/Ftgo.Auth/DownstreamApiClient.cs rename to src/Ftgo.Auth.Client/DownstreamApiClient.cs diff --git a/src/Ftgo.Auth/DownstreamApiOptions.cs b/src/Ftgo.Auth.Client/DownstreamApiOptions.cs similarity index 100% rename from src/Ftgo.Auth/DownstreamApiOptions.cs rename to src/Ftgo.Auth.Client/DownstreamApiOptions.cs diff --git a/src/Ftgo.Auth/DownstreamApiServiceCollectionExtensions.cs b/src/Ftgo.Auth.Client/DownstreamApiServiceCollectionExtensions.cs similarity index 100% rename from src/Ftgo.Auth/DownstreamApiServiceCollectionExtensions.cs rename to src/Ftgo.Auth.Client/DownstreamApiServiceCollectionExtensions.cs diff --git a/src/Ftgo.Auth/DownstreamProbeService.cs b/src/Ftgo.Auth.Client/DownstreamProbeService.cs similarity index 79% rename from src/Ftgo.Auth/DownstreamProbeService.cs rename to src/Ftgo.Auth.Client/DownstreamProbeService.cs index b0cc3b7..8752fef 100644 --- a/src/Ftgo.Auth/DownstreamProbeService.cs +++ b/src/Ftgo.Auth.Client/DownstreamProbeService.cs @@ -28,11 +28,13 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) { // Graceful shutdown — nothing to do. } - catch (HttpRequestException ex) +#pragma warning disable CA1031 // Probe is the entire purpose of this BackgroundService; we surface failures via exit code + logs and must not let the host crash silently. + catch (Exception ex) { - LogHttpFailure(logger, ex); + LogProbeFailure(logger, ex); Environment.ExitCode = 1; } +#pragma warning restore CA1031 finally { lifetime.StopApplication(); @@ -44,6 +46,6 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) private static partial void LogResult(ILogger logger, int status, string body); [LoggerMessage(EventId = 3001, Level = LogLevel.Error, - Message = "Probe HTTP failure")] - private static partial void LogHttpFailure(ILogger logger, Exception ex); + Message = "Probe failure")] + private static partial void LogProbeFailure(ILogger logger, Exception ex); } diff --git a/src/Ftgo.Auth/EntraAuthOptions.cs b/src/Ftgo.Auth.Client/EntraAuthOptions.cs similarity index 100% rename from src/Ftgo.Auth/EntraAuthOptions.cs rename to src/Ftgo.Auth.Client/EntraAuthOptions.cs diff --git a/src/Ftgo.Auth/EntraAuthOptionsValidator.cs b/src/Ftgo.Auth.Client/EntraAuthOptionsValidator.cs similarity index 100% rename from src/Ftgo.Auth/EntraAuthOptionsValidator.cs rename to src/Ftgo.Auth.Client/EntraAuthOptionsValidator.cs diff --git a/src/Ftgo.Auth.Client/Ftgo.Auth.Client.csproj b/src/Ftgo.Auth.Client/Ftgo.Auth.Client.csproj new file mode 100644 index 0000000..ac108ef --- /dev/null +++ b/src/Ftgo.Auth.Client/Ftgo.Auth.Client.csproj @@ -0,0 +1,20 @@ + + + Ftgo.Auth + + + + + + + + + + + + + + + + + diff --git a/src/Ftgo.Auth/TelemetryExtensions.cs b/src/Ftgo.Auth.Client/TelemetryExtensions.cs similarity index 81% rename from src/Ftgo.Auth/TelemetryExtensions.cs rename to src/Ftgo.Auth.Client/TelemetryExtensions.cs index 6ca3e6f..9d59e9e 100644 --- a/src/Ftgo.Auth/TelemetryExtensions.cs +++ b/src/Ftgo.Auth.Client/TelemetryExtensions.cs @@ -9,6 +9,8 @@ namespace Ftgo.Auth; /// Wires OpenTelemetry traces + metrics with the defaults this sample cares about. /// The OTLP exporter is active only when OTEL_EXPORTER_OTLP_ENDPOINT is set, /// so local runs without a collector don't fail. +/// This variant does NOT take a dependency on Microsoft.AspNetCore.App so it is safe +/// for worker processes; web hosts should call AddEntraAuthWebTelemetry instead. /// public static class TelemetryExtensions { @@ -27,14 +29,12 @@ public static IServiceCollection AddEntraAuthTelemetry( .ConfigureResource(r => r.AddService(serviceName)) .WithTracing(t => { - t.AddAspNetCoreInstrumentation() - .AddHttpClientInstrumentation(); + t.AddHttpClientInstrumentation(); if (hasOtlp) t.AddOtlpExporter(); }) .WithMetrics(m => { - m.AddAspNetCoreInstrumentation() - .AddHttpClientInstrumentation() + m.AddHttpClientInstrumentation() .AddRuntimeInstrumentation(); if (hasOtlp) m.AddOtlpExporter(); }); diff --git a/src/Ftgo.Auth.Client/packages.lock.json b/src/Ftgo.Auth.Client/packages.lock.json new file mode 100644 index 0000000..a476e0d --- /dev/null +++ b/src/Ftgo.Auth.Client/packages.lock.json @@ -0,0 +1,519 @@ +{ + "version": 2, + "dependencies": { + "net10.0": { + "Meziantou.Analyzer": { + "type": "Direct", + "requested": "[2.0.187, )", + "resolved": "2.0.187", + "contentHash": "s35YCC7rnWZnxtpdihrkdrGSAuzhdc+1kUMmO+UgVoogw3HAMmPO9BrSkxfU/KwhncK0Hr+nHFuAqOl+mGS01Q==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Direct", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "M/vBpfWcschvS2EUeq7cHfscsxabiGTptXwV7GeSueovGiSoNjyo1j5PMcWuOAAQrRW3nRqxZk8NeumrmpzUBg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.Configuration.CommandLine": "10.0.7", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.Configuration.UserSecrets": "10.0.7", + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Logging.Console": "10.0.7", + "Microsoft.Extensions.Logging.Debug": "10.0.7", + "Microsoft.Extensions.Logging.EventLog": "10.0.7", + "Microsoft.Extensions.Logging.EventSource": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Http": { + "type": "Direct", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "1wbd+RPhRo3hJKNJhdGEO5ls0LGe55Ho4BUjlFtRUrWxDVVBd7g0Ydq9fbNy86pmvx/j7AGcSPo7YNCo1IRI6Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Http.Resilience": { + "type": "Direct", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", + "dependencies": { + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Resilience": "10.1.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Direct", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Options.DataAnnotations": { + "type": "Direct", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "KWepqdSD4PxhFvVh3mckkvJ03u3q/VChkr6nT3nf5mm2XBk8ojxt2E4It0RMblb3GE7hJ0zQzFzxGKL0d6TfXA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "OpenTelemetry.Exporter.OpenTelemetryProtocol": { + "type": "Direct", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", + "dependencies": { + "OpenTelemetry": "1.15.3" + } + }, + "OpenTelemetry.Extensions.Hosting": { + "type": "Direct", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", + "dependencies": { + "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", + "OpenTelemetry": "1.15.3" + } + }, + "OpenTelemetry.Instrumentation.Http": { + "type": "Direct", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" + } + }, + "OpenTelemetry.Instrumentation.Runtime": { + "type": "Direct", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", + "dependencies": { + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" + } + }, + "SonarAnalyzer.CSharp": { + "type": "Direct", + "requested": "[10.4.0.108396, )", + "resolved": "10.4.0.108396", + "contentHash": "xGcLZ+dvkVuBbd3sjPur9X+1owSL/iDoxVFJLhMx3/vq1fmoKM2fwvrZ8ReAas6l715GJ/dWU2ckwlrRVopmbg==" + }, + "Microsoft.Extensions.AmbientMetadata.Application": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1" + } + }, + "Microsoft.Extensions.Compliance.Abstractions": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "3lNjglxfFxOzI9zG+3HSg/YSGqo//8Fqw6u6iuIamZb4JCorbA3JLaeWOpfKTAPi2UJwaispOXWx14dUqcGz4A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "YqVIICoIdl0016wkeO2WQS+uEbEXbUhMLKdC5rZNl1X3nu59F+nwaAHdHjq/4OK+Cx31DYmNUSFh+MUot8qSDw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw==" + }, + "Microsoft.Extensions.DependencyInjection.AutoActivation": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==", + "dependencies": { + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1" + } + }, + "Microsoft.Extensions.Diagnostics": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "l+smp1qPlU0OUXD0OGfdp7OUFrbdq7ZaP5T7m2WpfZ4RFKD7iG73BAT7tjSMxNmbSXkhAn1jYHOAqzYG1r9sNg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "uJ9JP677y+uy+C0vtaSfi7XXgFAdz8DhU3M9lwwIXDfQKcyQ0yxM9DVYa0NXDtdVTYA2eBUtVFZ8LY0GCdeE/w==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileSystemGlobbing": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "5s8d6qC6EA8UOI4wR/+zlsq7SXttJMRb9d7zvVZ7+bE3CQEfVtC9ITUDCommm87R1zzj6WJBbCnztuIJXnP3DA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Http.Diagnostics": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", + "dependencies": { + "Microsoft.Extensions.Http": "10.0.1", + "Microsoft.Extensions.Telemetry": "10.1.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "7BBnoGF37USiu7j434put9mDp7EjdlNDIZsR4vHfC1FbLZeLqiWjgJbeEtF0p59Ryqt8AtraHawf0ZKbe5jibg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "DA++Es6v6W0HfrOrw+K8WyN6jNnZHp640PDdEvl8yfeVmgflKdn6vSSFvufNUSOuY+M2ZaSUgfY+jUKtNpXcCw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "Y6DSt/JZApunYWKqTtqbdsR6iqAvHx3D0tavbNJ1rnC24MUpF+3XO/VKgFi+9PFqMyvQ2GHBBGb8H3cLSw7rDg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "1C8eTuxF6BLncNSJ1HCfmaBcjpUSqQDPlBVdYTlet9oldHTPpNh9iatxSJLs8TOqdp/FOpH+nSLdBve7fu9mTQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Diagnostics.EventLog": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "YWfndnDX1jVMGCN8d5T+rO+BO8sDw6BkYlUk0BYui+WP7+HhlWx8QLdA4yUDjrkGVb3AQxIWWEPVKw5Nnfj5GQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.ObjectPool": { + "type": "Transitive", + "resolved": "10.0.1", + "contentHash": "HqAEbtoAhgvH53c54IV5e4vQ60PYvl7Z/WIHsbet+UGGE7n+7dwVNXw1mb9LZlWbsxnupCevvtgIne5P//ZKpQ==" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw==" + }, + "Microsoft.Extensions.Resilience": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", + "dependencies": { + "Microsoft.Extensions.Diagnostics": "10.0.1", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", + "Polly.Extensions": "8.4.2", + "Polly.RateLimiting": "8.4.2" + } + }, + "Microsoft.Extensions.Telemetry": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", + "dependencies": { + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" + } + }, + "Microsoft.Extensions.Telemetry.Abstractions": { + "type": "Transitive", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", + "dependencies": { + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Options": "10.0.1" + } + }, + "OpenTelemetry": { + "type": "Transitive", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" + } + }, + "OpenTelemetry.Api.ProviderBuilderExtensions": { + "type": "Transitive", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "OpenTelemetry.Api": "1.15.3" + } + }, + "Polly.Core": { + "type": "Transitive", + "resolved": "8.4.2", + "contentHash": "BpE2I6HBYYA5tF0Vn4eoQOGYTYIK1BlF5EXVgkWGn3mqUUjbXAr13J6fZVbp7Q3epRR8yshacBMlsHMhpOiV3g==" + }, + "Polly.Extensions": { + "type": "Transitive", + "resolved": "8.4.2", + "contentHash": "GZ9vRVmR0jV2JtZavt+pGUsQ1O1cuRKG7R7VOZI6ZDy9y6RNPvRvXK1tuS4ffUrv8L0FTea59oEuQzgS0R7zSA==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Polly.Core": "8.4.2" + } + }, + "Polly.RateLimiting": { + "type": "Transitive", + "resolved": "8.4.2", + "contentHash": "ehTImQ/eUyO07VYW2WvwSmU9rRH200SKJ/3jku9rOkyWE0A2JxNFmAVms8dSn49QLSjmjFRRSgfNyOgr/2PSmA==", + "dependencies": { + "Polly.Core": "8.4.2", + "System.Threading.RateLimiting": "8.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ==" + }, + "System.Threading.RateLimiting": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==" + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + } + } + } +} \ No newline at end of file diff --git a/src/Ftgo.Auth/EntraAuthServiceCollectionExtensions.cs b/src/Ftgo.Auth/EntraAuthServiceCollectionExtensions.cs index 9f8dd15..91dfb88 100644 --- a/src/Ftgo.Auth/EntraAuthServiceCollectionExtensions.cs +++ b/src/Ftgo.Auth/EntraAuthServiceCollectionExtensions.cs @@ -7,6 +7,7 @@ using Microsoft.Identity.Web; using Microsoft.IdentityModel.JsonWebTokens; using Microsoft.IdentityModel.Tokens; +using Microsoft.IdentityModel.Validators; namespace Ftgo.Auth; @@ -19,7 +20,8 @@ public static class EntraAuthServiceCollectionExtensions { public static IServiceCollection AddEntraAuth( this IServiceCollection services, - IConfiguration configuration) + IConfiguration configuration, + Action? configureAuthentication = null) { ArgumentNullException.ThrowIfNull(services); ArgumentNullException.ThrowIfNull(configuration); @@ -31,10 +33,12 @@ public static IServiceCollection AddEntraAuth( services.AddSingleton, EntraAuthOptionsValidator>(); - services + var authBuilder = services .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApi(configuration.GetSection("AzureAd")); + configureAuthentication?.Invoke(authBuilder); + services.AddSingleton, EntraAuthJwtPostConfigure>(); services.AddAuthorization(o => @@ -81,27 +85,40 @@ public void PostConfigure(string? name, JwtBearerOptions bearerOptions) if (opts.Tenancy == TenancyMode.MultiTenant) { + if (opts.AllowedTenantIds.Count == 0) + { + throw new InvalidOperationException( + "EntraAuth.AllowedTenantIds must contain at least one tenant id when Tenancy is MultiTenant."); + } + var allowed = new HashSet(opts.AllowedTenantIds, StringComparer.OrdinalIgnoreCase); - bearerOptions.TokenValidationParameters.IssuerValidator = (issuer, token, _) => + var instance = (configuration["AzureAd:Instance"] ?? "https://login.microsoftonline.com/").TrimEnd('/'); + var aadAuthority = $"{instance}/{configuration["AzureAd:TenantId"] ?? "organizations"}/v2.0"; + var aadIssuerValidator = AadIssuerValidator.GetAadIssuerValidator(aadAuthority); + + bearerOptions.TokenValidationParameters.IssuerValidator = (issuer, token, parameters) => { - if (token is JsonWebToken jwt) + // 1. Delegate the cryptographic + structural issuer check to Microsoft.IdentityModel.Validators. + // This enforces issuer is a known Microsoft signing authority AND that the issuer's + // {tenantid} segment matches the token's tid claim. + var validatedIssuer = aadIssuerValidator.Validate(issuer, token, parameters); + + // 2. Then enforce our tenant allow-list with exact-match equality. + if (token is not JsonWebToken jwt) + { + throw new SecurityTokenInvalidIssuerException( + string.Create(CultureInfo.InvariantCulture, + $"Unsupported token type '{token?.GetType().FullName}' for multi-tenant validation.")); + } + + var tid = jwt.GetPayloadValue("tid"); + if (string.IsNullOrEmpty(tid) || !allowed.Contains(tid)) { - var tid = jwt.GetPayloadValue("tid"); - if (string.IsNullOrEmpty(tid) || - !issuer.Contains(tid, StringComparison.OrdinalIgnoreCase)) - { - throw new SecurityTokenInvalidIssuerException( - string.Create(CultureInfo.InvariantCulture, $"tid '{tid}' does not match issuer '{issuer}'.")); - } - - if (!allowed.Contains(tid)) - { - throw new SecurityTokenInvalidIssuerException( - string.Create(CultureInfo.InvariantCulture, $"Tenant '{tid}' is not provisioned.")); - } + throw new SecurityTokenInvalidIssuerException( + string.Create(CultureInfo.InvariantCulture, $"Tenant '{tid}' is not provisioned.")); } - return issuer; + return validatedIssuer; }; } } diff --git a/src/Ftgo.Auth/Ftgo.Auth.csproj b/src/Ftgo.Auth/Ftgo.Auth.csproj index 20f0db0..3dbd592 100644 --- a/src/Ftgo.Auth/Ftgo.Auth.csproj +++ b/src/Ftgo.Auth/Ftgo.Auth.csproj @@ -1,15 +1,11 @@ - - + - - + - - diff --git a/src/Ftgo.Auth/RequireClientApp.cs b/src/Ftgo.Auth/RequireClientApp.cs index c5b1e99..aab6a64 100644 --- a/src/Ftgo.Auth/RequireClientApp.cs +++ b/src/Ftgo.Auth/RequireClientApp.cs @@ -56,18 +56,15 @@ protected override Task HandleRequirementAsync( } /// -/// Attribute sugar for — puts on a controller/action: -/// [RequireClientApp] uses the configured allow-list; [RequireClientApp("app-id-1", ...)] -/// pins a per-endpoint list. +/// Attribute sugar for the EntraAuth:RequireClientApp authorization policy. +/// Place on a controller or action: [RequireClientApp]. The allow-list is +/// resolved from ; per-endpoint +/// pinning is intentionally not supported here to keep the policy single-sourced. /// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] -public sealed class RequireClientAppAttribute : Attribute, IAuthorizeData +public sealed class RequireClientAppAttribute : AuthorizeAttribute { - public string? Policy { get; set; } = ClientAppPolicy.Name; - - public string? Roles { get; set; } - - public string? AuthenticationSchemes { get; set; } + public RequireClientAppAttribute() : base(ClientAppPolicy.Name) { } } internal static class ClientAppPolicy diff --git a/src/Ftgo.Auth/WebTelemetryExtensions.cs b/src/Ftgo.Auth/WebTelemetryExtensions.cs new file mode 100644 index 0000000..11b58f6 --- /dev/null +++ b/src/Ftgo.Auth/WebTelemetryExtensions.cs @@ -0,0 +1,28 @@ +using Microsoft.Extensions.DependencyInjection; +using OpenTelemetry.Metrics; +using OpenTelemetry.Trace; + +namespace Ftgo.Auth; + +/// +/// Web-host extension that layers AspNetCore tracing + metrics on top of +/// . +/// +public static class WebTelemetryExtensions +{ + public static IServiceCollection AddEntraAuthWebTelemetry( + this IServiceCollection services, + string serviceName) + { + ArgumentNullException.ThrowIfNull(services); + + services.AddEntraAuthTelemetry(serviceName); + + services + .AddOpenTelemetry() + .WithTracing(t => t.AddAspNetCoreInstrumentation()) + .WithMetrics(m => m.AddAspNetCoreInstrumentation()); + + return services; + } +} diff --git a/src/Ftgo.Auth/packages.lock.json b/src/Ftgo.Auth/packages.lock.json index 3ac9014..19de7bb 100644 --- a/src/Ftgo.Auth/packages.lock.json +++ b/src/Ftgo.Auth/packages.lock.json @@ -8,85 +8,49 @@ "resolved": "2.0.187", "contentHash": "s35YCC7rnWZnxtpdihrkdrGSAuzhdc+1kUMmO+UgVoogw3HAMmPO9BrSkxfU/KwhncK0Hr+nHFuAqOl+mGS01Q==" }, - "Microsoft.Extensions.Http.Resilience": { - "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", - "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" - } - }, "Microsoft.Identity.Web": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "rqMufh64Woj/kc39d9iCb12BTtBj9H40haLUemRAwoqvqSomYPlbMOwt1UD1Y5aMqmc8aYF06U5ATY8Qnw2iFg==", "dependencies": { - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "Microsoft.IdentityModel.Validators": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.DownstreamApi": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "MXCBVZO9Oj2hSZkPvEFcRg1/fyKNjqJQzAVxUjdCOzno3rd1BeVhuMddk9aYNJ3r79GD5lA3xJeneXo+SKlKCA==", "dependencies": { - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0" } }, - "OpenTelemetry.Exporter.OpenTelemetryProtocol": { - "type": "Direct", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", - "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" - } - }, - "OpenTelemetry.Extensions.Hosting": { + "Microsoft.IdentityModel.Validators": { "type": "Direct", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "Q5nFG+xl7PXh1Blb2q8a1/PPZH+/7xee0nNwN/15tcuzPQKSHnzqvfg5dEdWm5Ax2GN9e6oX4K5wo22/VB+b/w==", "dependencies": { - "OpenTelemetry": "1.10.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "OpenTelemetry.Instrumentation.AspNetCore": { "type": "Direct", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.2, )", + "resolved": "1.15.2", + "contentHash": "2nPd7r0ug/gd6/CNFL6Rlu+RSQ9WYGSGHAYQ1ssbSqyzKJpqTunfx2I/1O0WB5k+L0cyXbG4XVZpoSoUc3M7wg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" - } - }, - "OpenTelemetry.Instrumentation.Http": { - "type": "Direct", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", - "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" - } - }, - "OpenTelemetry.Instrumentation.Runtime": { - "type": "Direct", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", - "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "SonarAnalyzer.CSharp": { @@ -97,262 +61,201 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, "Microsoft.AspNetCore.Authentication.OpenIdConnect": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", + "resolved": "10.0.0", + "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==" + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==" }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==" + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==" + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==" }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==" + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==" }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.Identity.Web.Certificate": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", + "resolved": "4.8.0", + "contentHash": "G4nkrs1pKg6NxuSvyoRzokLfsfd2v5pXpXS1XUvHstvdWkQRBw8kTbSwRCvzdRFA1MW7Ct14zcp1P4kej7dB+g==", "dependencies": { "Azure.Identity": "1.11.4", "Azure.Security.KeyVault.Certificates": "4.6.0", "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.Diagnostics": "4.8.0" } }, "Microsoft.Identity.Web.Certificateless": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", + "resolved": "4.8.0", + "contentHash": "TegoXg/SX1mca1ygTZWTgLTXIZPQudmg5SLr9f50A8fzC4oFGkNOUfa9wii9SRikBGg4Sc31QxUeM/MMFyIX6A==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.IdentityModel.JsonWebTokens": "8.15.0" } }, "Microsoft.Identity.Web.Diagnostics": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" + "resolved": "4.8.0", + "contentHash": "oWYVlq2h86yAmqJHcDK0JrJfhDZTnF1M1vyY9mGx+x5E5GpNml7hTI1N1Kq4Z9JUtaPvz4dN8MgfUn7QyHZ13Q==" }, "Microsoft.Identity.Web.TokenAcquisition": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", + "resolved": "4.8.0", + "contentHash": "Nm4YJxUQuIThoRWprg9bv2vCDs2zzlOo7B4nfHoG3Spw5Ege2edFLY+iEtRh+GYW2Fhn97rYmwCgmaQ2IhYZxA==", "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.AspNetCore.Authentication.JwtBearer": "10.0.0", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Logging": "8.15.0", + "Microsoft.IdentityModel.LoggingExtensions": "8.15.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.TokenCache": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", + "resolved": "4.8.0", + "contentHash": "2TL0zev2SREJoIzZi9dQ+vv/Us6Q1ZpZD02ti0LhFDpFg/vKGD98pHmcz+f216PbWHzQpERzS3tMgcIGt2lywQ==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Web.Diagnostics": "4.8.0", + "System.Security.Cryptography.Pkcs": "10.0.6" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "8.17.0", + "contentHash": "6NrxQGcZg6IunkN8K2F0UVMavNpfCjbjjjON7PYcL8FwI8aULKUreiHsRX/yaA8j3XsTJnQKUYpoQk5gBjULZw==" }, "Microsoft.IdentityModel.Logging": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", + "resolved": "8.17.0", + "contentHash": "w1vjfri0BWqW7RkSZY3ZsqekNfIJJg5BQSFs2j+a+pCXOVrkezmJcn74pT3djwjXJh71577C6wJQgNc2UPz30w==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.17.0" } }, "Microsoft.IdentityModel.LoggingExtensions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", + "resolved": "8.15.0", + "contentHash": "u0/PCw/1sMka5DHi1SIviM74AKMm5k9C4FZNMCap+AzH+dGhX9yPZxZNisvnxmqdhDSQemiz+GwLdTIFDlgEog==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.15.0" } }, "Microsoft.IdentityModel.Protocols": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", + "resolved": "8.17.0", + "contentHash": "TYbO2KMvWvu8bxbEDCgzggNckCGjwr6NxFf2VYW7PpmCRbsoMNNgVYlCiRvy748t6gj5MJ8v/jcqWrcLMg6PaQ==", "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "Microsoft.IdentityModel.Protocols.OpenIdConnect": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", + "resolved": "8.17.0", + "contentHash": "8DuZM96o2epBioyp56Q+H8bdGwO8FnU4nQMa0c6pboe9+monH9PZGY+CHKmsdw90ObJ5OXtiKG1TWuLbJp2VvQ==", "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "OpenTelemetry.Api": "1.10.0" + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -378,45 +281,53 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "System.Memory.Data": "10.0.3" } }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", + "resolved": "8.17.0", + "contentHash": "nKikRYheDeSaXA3wGr2otwaiRFygBa25m+hc7MEomZVIEWZvKVqd8wgP9yn+8QpLRGgw//dUs4LErGx9gtVmAA==", "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.JsonWebTokens": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.6", + "contentHash": "88tquaGJ1htm4DHWS6x9jwER7sFET2SVRN7HqO1FYZwE0diDcUmz0ajhVa8ZD2HGhDJBueSPjP/gqyP3gXtT2A==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", "resolved": "4.5.0", "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" }, + "ftgo.auth.client": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" + } + }, "Azure.Identity": { "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -439,20 +350,96 @@ }, "Microsoft.AspNetCore.Authentication.JwtBearer": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "g8klpd7OFJfJOq1EJKcBO8C8I8Dp0QUWoKDPUvvJYe+xunVyBHq6YxfF2CAc6+rkniV25iaWl+6RK87c25n4lA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, + "Microsoft.Extensions.Http.Resilience": { + "type": "CentralTransitive", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", + "dependencies": { + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.Resilience": "10.1.0" + } + }, + "Microsoft.Identity.Abstractions": { + "type": "CentralTransitive", + "requested": "[12.0.0, )", + "resolved": "12.0.0", + "contentHash": "PW7ymSop61IsKJwOkPibZcCslW+mRL8uz+AmB9ixe9HBCQjV/duEIbjNzjRcD7tDn563TqTsg2hoFwo62RR6YA==" + }, "Microsoft.Identity.Client": { "type": "CentralTransitive", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "8.14.0" + } + }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "JbFZ3OVwtvqcqgBL0cIkhRYbIP7u9GIUYLOgbNqLWtBtZY8tGDpdGyXMzUVX0gVHq1ovuHsKZrkVv+ziHEnBHw==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "8.17.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "teaW35URIV2x78Tzk+dVJiC4M62/9mQoSEoDjDGoEZmcQa3H2rE+XQpm9Tmdo9KK1Lcrnve4zoyLavl69kCFGg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "8.17.0" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + }, + "OpenTelemetry.Exporter.OpenTelemetryProtocol": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", + "dependencies": { + "OpenTelemetry": "1.15.3" + } + }, + "OpenTelemetry.Extensions.Hosting": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", + "dependencies": { + "OpenTelemetry": "1.15.3" + } + }, + "OpenTelemetry.Instrumentation.Http": { + "type": "CentralTransitive", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", + "dependencies": { + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" + } + }, + "OpenTelemetry.Instrumentation.Runtime": { + "type": "CentralTransitive", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.DeliveryService/Ftgo.DeliveryService.csproj b/src/Ftgo.DeliveryService/Ftgo.DeliveryService.csproj index 92eb217..c6896be 100644 --- a/src/Ftgo.DeliveryService/Ftgo.DeliveryService.csproj +++ b/src/Ftgo.DeliveryService/Ftgo.DeliveryService.csproj @@ -9,7 +9,7 @@ - + PreserveNewest diff --git a/src/Ftgo.DeliveryService/packages.lock.json b/src/Ftgo.DeliveryService/packages.lock.json index 92e161e..fa5e63f 100644 --- a/src/Ftgo.DeliveryService/packages.lock.json +++ b/src/Ftgo.DeliveryService/packages.lock.json @@ -4,13 +4,11 @@ "net10.0": { "Azure.Identity": { "type": "Direct", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Meziantou.Analyzer": { @@ -21,53 +19,53 @@ }, "Microsoft.Extensions.Configuration.Json": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "BIOPTEAZoeWbHlDT9Zudu+rpecZizFwhdIFRiyZKDml7JbayXmfTXKUt+ezifsSXfBkWDdJM10oDOxo8pufEng==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Hosting": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "yKJiVdXkSfe9foojGpBRbuDPQI8YD71IO/aE8ehGjRHE0VkEF/YWkW6StthwuFF146pc2lypZrpk/Tks6Plwhw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "10.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "10.0.0", - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Logging.Console": "10.0.0", - "Microsoft.Extensions.Logging.Debug": "10.0.0", - "Microsoft.Extensions.Logging.EventLog": "10.0.0", - "Microsoft.Extensions.Logging.EventSource": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "M/vBpfWcschvS2EUeq7cHfscsxabiGTptXwV7GeSueovGiSoNjyo1j5PMcWuOAAQrRW3nRqxZk8NeumrmpzUBg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.Configuration.CommandLine": "10.0.7", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.Configuration.UserSecrets": "10.0.7", + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Logging.Console": "10.0.7", + "Microsoft.Extensions.Logging.Debug": "10.0.7", + "Microsoft.Extensions.Logging.EventLog": "10.0.7", + "Microsoft.Extensions.Logging.EventSource": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Identity.Client": { "type": "Direct", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, "SonarAnalyzer.CSharp": { @@ -78,576 +76,369 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0", - "Microsoft.Extensions.Logging.Abstractions": "3.0.3" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" - } - }, - "Microsoft.AspNetCore.Authentication.OpenIdConnect": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" - } - }, - "Microsoft.AspNetCore.Cryptography.Internal": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "M1dzTEl+2+RqT4vWcqEpWasPXHd58wC93U7QMlmPSmx+qixyVxCQjZ183wr7Wa68b4pF7wC501MU9rdA0ZNhMg==" - }, - "Microsoft.AspNetCore.DataProtection": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "mrhTnqMHkaVmaNZOWobg7ior5BELrlC5dC2r3FMVwT0bfOlonOe76B83e3D98Cl/zR5Szhfok2BQmkw6xDvHfg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "9.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, - "Microsoft.AspNetCore.DataProtection.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "o7JVGMXofZ4IuQdyoL0eKC1GnNmviZt2aI7CGHnQjqbz9hIrYim3DUfCKpvKaVzLWfzfgmwaXNg8Zx7fFQaBbA==" - }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" - } - }, - "Microsoft.Extensions.Caching.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" - } - }, - "Microsoft.Extensions.Caching.Memory": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==", + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" + "Microsoft.Extensions.Configuration": "10.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1" } }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==", + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", + "resolved": "10.0.7", + "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", + "resolved": "10.0.7", + "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", + "resolved": "10.0.7", + "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "CRj5clwZciVs46GMhAthkFq3+JiNM15Bz9CRlCZLBmRdggD6RwoBphRJ+EUDK2f+cZZ1L2zqVaQrn1KueoU5Kg==", + "resolved": "10.0.7", + "contentHash": "3lNjglxfFxOzI9zG+3HSg/YSGqo//8Fqw6u6iuIamZb4JCorbA3JLaeWOpfKTAPi2UJwaispOXWx14dUqcGz4A==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "TmFegsI/uCdwMBD4yKpmO+OkjVNHQL49Dh/ep83NI5rPUEoBK9OdsJo1zURc1A2FuS/R/Pos3wsTjlyLnguBLA==", + "resolved": "10.0.7", + "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "LqCTyF0twrG4tyEN6PpSC5ewRBDwCBazRUfCOdRddwaQ3n2S57GDDeYOlTLcbV/V2dxSSZWg5Ofr48h6BsBmxw==", + "resolved": "10.0.7", + "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "B4qHB6gQ2B3I52YRohSV7wetp01BQzi8jDmrtiVm6e4l8vH5vjqwxWcR5wumGWjdBkj1asJLLsDIocdyTQSP0A==", + "resolved": "10.0.7", + "contentHash": "YqVIICoIdl0016wkeO2WQS+uEbEXbUhMLKdC5rZNl1X3nu59F+nwaAHdHjq/4OK+Cx31DYmNUSFh+MUot8qSDw==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", + "resolved": "10.0.7", + "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" + "resolved": "10.0.7", + "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==", + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "xjkxIPgrT0mKTfBwb+CVqZnRchyZgzKIfDQOp8z+WUC6vPe3WokIf71z+hJPkH0YBUYJwa7Z/al1R087ib9oiw==", + "resolved": "10.0.7", + "contentHash": "l+smp1qPlU0OUXD0OGfdp7OUFrbdq7ZaP5T7m2WpfZ4RFKD7iG73BAT7tjSMxNmbSXkhAn1jYHOAqzYG1r9sNg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", + "resolved": "10.0.7", + "contentHash": "uJ9JP677y+uy+C0vtaSfi7XXgFAdz8DhU3M9lwwIXDfQKcyQ0yxM9DVYa0NXDtdVTYA2eBUtVFZ8LY0GCdeE/w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==", + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==", + "resolved": "10.0.7", + "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "UZUQ74lQMmvcprlG8w+XpxBbyRDQqfb7GAnccITw32hdkUBlmm9yNC4xl4aR9YjgV3ounZcub194sdmLSfBmPA==", + "resolved": "10.0.7", + "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileSystemGlobbing": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5hfVl/e+bx1px2UkN+1xXhd3hu7Ui6ENItBzckFaRDQXfr+SHT/7qrCDrlQekCF/PBtEu2vtk87U2+gDEF8EhQ==" + "resolved": "10.0.7", + "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA==" }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==", + "resolved": "10.0.7", + "contentHash": "5s8d6qC6EA8UOI4wR/+zlsq7SXttJMRb9d7zvVZ7+bE3CQEfVtC9ITUDCommm87R1zzj6WJBbCnztuIJXnP3DA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Http": "10.0.0", - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Http": "10.0.1", + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", + "resolved": "10.0.7", + "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", + "resolved": "10.0.7", + "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", + "resolved": "10.0.7", + "contentHash": "7BBnoGF37USiu7j434put9mDp7EjdlNDIZsR4vHfC1FbLZeLqiWjgJbeEtF0p59Ryqt8AtraHawf0ZKbe5jibg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "treWetuksp8LVb09fCJ5zNhNJjyDkqzVm83XxcrlWQnAdXznR140UUXo8PyEPBvFlHhjKhFQZEOP3Sk/ByCvEw==", + "resolved": "10.0.7", + "contentHash": "DA++Es6v6W0HfrOrw+K8WyN6jNnZHp640PDdEvl8yfeVmgflKdn6vSSFvufNUSOuY+M2ZaSUgfY+jUKtNpXcCw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "A/4vBtVaySLBGj4qluye+KSbeVCCMa6GcTbxf2YgnSDHs9b9105+VojBJ1eJPel8F1ny0JOh+Ci3vgCKn69tNQ==", + "resolved": "10.0.7", + "contentHash": "Y6DSt/JZApunYWKqTtqbdsR6iqAvHx3D0tavbNJ1rnC24MUpF+3XO/VKgFi+9PFqMyvQ2GHBBGb8H3cLSw7rDg==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EWda5nSXhzQZr3yJ3+XgIApOek+Hm+txhWCEzWNVPp/OfimL4qmvctgXu87m+S2RXw/AoUP8aLMNicJ2KWblVA==", + "resolved": "10.0.7", + "contentHash": "1C8eTuxF6BLncNSJ1HCfmaBcjpUSqQDPlBVdYTlet9oldHTPpNh9iatxSJLs8TOqdp/FOpH+nSLdBve7fu9mTQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "System.Diagnostics.EventLog": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Diagnostics.EventLog": "10.0.7" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "+Qc+kgoJi1w2A/Jm+7h04LcK2JoJkwAxKg7kBakkNRcemTmRGocqPa7rVNVGorTYruFrUS25GwkFNtOECnjhXg==", + "resolved": "10.0.7", + "contentHash": "YWfndnDX1jVMGCN8d5T+rO+BO8sDw6BkYlUk0BYui+WP7+HhlWx8QLdA4yUDjrkGVb3AQxIWWEPVKw5Nnfj5GQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.ObjectPool": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bpeCq0IYmVLACyEUMzFIOQX+zZUElG1t+nu1lSxthe7B+1oNYking7b91305+jNB6iwojp9fqTY9O+Nh7ULQxg==" + "resolved": "10.0.1", + "contentHash": "HqAEbtoAhgvH53c54IV5e4vQ60PYvl7Z/WIHsbet+UGGE7n+7dwVNXw1mb9LZlWbsxnupCevvtgIne5P//ZKpQ==" }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", + "resolved": "10.0.7", + "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" + "resolved": "10.0.7", + "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw==" }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics": "10.0.1", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Options": "10.0.1" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, - "Microsoft.Identity.Web.Certificate": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", - "dependencies": { - "Azure.Identity": "1.11.4", - "Azure.Security.KeyVault.Certificates": "4.6.0", - "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" - } - }, - "Microsoft.Identity.Web.Certificateless": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" - } - }, - "Microsoft.Identity.Web.Diagnostics": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" - }, - "Microsoft.Identity.Web.TokenAcquisition": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", - "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.Identity.Web.TokenCache": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", - "dependencies": { - "Microsoft.AspNetCore.DataProtection": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" - } - }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Logging": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.LoggingExtensions": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.1", - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols.OpenIdConnect": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } + "resolved": "8.14.0", + "contentHash": "iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==" }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Configuration": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "OpenTelemetry.Api": "1.10.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -676,203 +467,137 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Extensions.Logging.Abstractions": "10.0.3", + "System.Memory.Data": "10.0.3" } }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "uaFRda9NjtbJRkdx311eXlAA3n2em7223c1A8d1VWyl+4FL9vkG7y2lpPfBU9HYdj/9KgdRNdn1vFK8ZYCYT/A==" - }, - "System.IdentityModel.Tokens.Jwt": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", - "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "10.0.7", + "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ==" }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" - }, - "System.Security.Cryptography.Pkcs": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", "resolved": "4.5.0", "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" }, - "System.Security.Cryptography.Xml": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "GQZn5wFd+pyOfwWaCbqxG7trQ5ox01oR8kYgWflgtux4HiUNihGEgG2TktRWyH+9bw7NoEju1D41H/upwQeFQw==", - "dependencies": { - "System.Security.Cryptography.Pkcs": "9.0.0" - } - }, "System.Threading.RateLimiting": { "type": "Transitive", "resolved": "8.0.0", "contentHash": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==" }, - "ftgo.auth": { + "ftgo.auth.client": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" - } - }, - "Azure.Security.KeyVault.Certificates": { - "type": "CentralTransitive", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "FcoGTI/6i8nKZhwI0HrYnVWOQk9LhnP+9T3adFAGvU8i3XPc3KKJ93VGER8L+Ygez2bpyGsWj4fRjsYv2211PQ==", - "dependencies": { - "Azure.Core": "1.44.1" - } - }, - "Azure.Security.KeyVault.Secrets": { - "type": "CentralTransitive", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "uOPCojkm41V4dKTORyGzl3/f/lriKpxSQ43fWDn4StRJBVmbF1F/DNWJhwm207kCnqgE/W9+tskJSimIKHCZkw==", - "dependencies": { - "Azure.Core": "1.44.1" - } - }, - "Microsoft.AspNetCore.Authentication.JwtBearer": { - "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" + "Microsoft.Extensions.Hosting": "[10.0.7, )", + "Microsoft.Extensions.Http": "[10.0.7, )", + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "Microsoft.Extensions.Options": "[10.0.7, )", + "Microsoft.Extensions.Options.DataAnnotations": "[10.0.7, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Microsoft.Extensions.Http": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "r+mSvm/Ryc/iYcc9zcUG5VP9EBB8PL1rgVU6macEaYk45vmGRk9PntM3aynFKN6s3Q4WW36kedTycIctctpTUQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "1wbd+RPhRo3hJKNJhdGEO5ls0LGe55Ho4BUjlFtRUrWxDVVBd7g0Ydq9fbNy86pmvx/j7AGcSPo7YNCo1IRI6Q==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Resilience": "10.1.0" } }, "Microsoft.Extensions.Options": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, - "Microsoft.Identity.Web": { + "Microsoft.Extensions.Options.DataAnnotations": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "KWepqdSD4PxhFvVh3mckkvJ03u3q/VChkr6nT3nf5mm2XBk8ojxt2E4It0RMblb3GE7hJ0zQzFzxGKL0d6TfXA==", "dependencies": { - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, - "Microsoft.Identity.Web.DownstreamApi": { + "OpenTelemetry.Api": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", - "dependencies": { - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" - } + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "OpenTelemetry": "1.10.0" - } - }, - "OpenTelemetry.Instrumentation.AspNetCore": { - "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", - "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.KitchenService/Ftgo.KitchenService.csproj b/src/Ftgo.KitchenService/Ftgo.KitchenService.csproj index 92eb217..c6896be 100644 --- a/src/Ftgo.KitchenService/Ftgo.KitchenService.csproj +++ b/src/Ftgo.KitchenService/Ftgo.KitchenService.csproj @@ -9,7 +9,7 @@ - + PreserveNewest diff --git a/src/Ftgo.KitchenService/ManagedIdentityTokenProvider.cs b/src/Ftgo.KitchenService/ManagedIdentityTokenProvider.cs index 375ed3c..a582a56 100644 --- a/src/Ftgo.KitchenService/ManagedIdentityTokenProvider.cs +++ b/src/Ftgo.KitchenService/ManagedIdentityTokenProvider.cs @@ -17,7 +17,7 @@ internal sealed class ManagedIdentityTokenProvider(IOptions - + PreserveNewest diff --git a/src/Ftgo.NotificationService/packages.lock.json b/src/Ftgo.NotificationService/packages.lock.json index 9cc4bb8..bce39b3 100644 --- a/src/Ftgo.NotificationService/packages.lock.json +++ b/src/Ftgo.NotificationService/packages.lock.json @@ -10,53 +10,53 @@ }, "Microsoft.Extensions.Configuration.Json": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "BIOPTEAZoeWbHlDT9Zudu+rpecZizFwhdIFRiyZKDml7JbayXmfTXKUt+ezifsSXfBkWDdJM10oDOxo8pufEng==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Hosting": { "type": "Direct", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "yKJiVdXkSfe9foojGpBRbuDPQI8YD71IO/aE8ehGjRHE0VkEF/YWkW6StthwuFF146pc2lypZrpk/Tks6Plwhw==", - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "10.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "10.0.0", - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Logging.Console": "10.0.0", - "Microsoft.Extensions.Logging.Debug": "10.0.0", - "Microsoft.Extensions.Logging.EventLog": "10.0.0", - "Microsoft.Extensions.Logging.EventSource": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "M/vBpfWcschvS2EUeq7cHfscsxabiGTptXwV7GeSueovGiSoNjyo1j5PMcWuOAAQrRW3nRqxZk8NeumrmpzUBg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.Configuration.CommandLine": "10.0.7", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.Configuration.UserSecrets": "10.0.7", + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Logging.Console": "10.0.7", + "Microsoft.Extensions.Logging.Debug": "10.0.7", + "Microsoft.Extensions.Logging.EventLog": "10.0.7", + "Microsoft.Extensions.Logging.EventSource": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Identity.Client": { "type": "Direct", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, "SonarAnalyzer.CSharp": { @@ -65,578 +65,343 @@ "resolved": "10.4.0.108396", "contentHash": "xGcLZ+dvkVuBbd3sjPur9X+1owSL/iDoxVFJLhMx3/vq1fmoKM2fwvrZ8ReAas6l715GJ/dWU2ckwlrRVopmbg==" }, - "Azure.Core": { - "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0", - "Microsoft.Extensions.Logging.Abstractions": "3.0.3" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" - } - }, - "Microsoft.AspNetCore.Authentication.OpenIdConnect": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" - } - }, - "Microsoft.AspNetCore.Cryptography.Internal": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "M1dzTEl+2+RqT4vWcqEpWasPXHd58wC93U7QMlmPSmx+qixyVxCQjZ183wr7Wa68b4pF7wC501MU9rdA0ZNhMg==" - }, - "Microsoft.AspNetCore.DataProtection": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "mrhTnqMHkaVmaNZOWobg7ior5BELrlC5dC2r3FMVwT0bfOlonOe76B83e3D98Cl/zR5Szhfok2BQmkw6xDvHfg==", - "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "9.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" - } - }, - "Microsoft.AspNetCore.DataProtection.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "o7JVGMXofZ4IuQdyoL0eKC1GnNmviZt2aI7CGHnQjqbz9hIrYim3DUfCKpvKaVzLWfzfgmwaXNg8Zx7fFQaBbA==" - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" - }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==", + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" - } - }, - "Microsoft.Extensions.Caching.Abstractions": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" - } - }, - "Microsoft.Extensions.Caching.Memory": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" + "Microsoft.Extensions.Configuration": "10.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1" } }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==", + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", + "resolved": "10.0.7", + "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", + "resolved": "10.0.7", + "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", + "resolved": "10.0.7", + "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "CRj5clwZciVs46GMhAthkFq3+JiNM15Bz9CRlCZLBmRdggD6RwoBphRJ+EUDK2f+cZZ1L2zqVaQrn1KueoU5Kg==", + "resolved": "10.0.7", + "contentHash": "3lNjglxfFxOzI9zG+3HSg/YSGqo//8Fqw6u6iuIamZb4JCorbA3JLaeWOpfKTAPi2UJwaispOXWx14dUqcGz4A==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "TmFegsI/uCdwMBD4yKpmO+OkjVNHQL49Dh/ep83NI5rPUEoBK9OdsJo1zURc1A2FuS/R/Pos3wsTjlyLnguBLA==", + "resolved": "10.0.7", + "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "LqCTyF0twrG4tyEN6PpSC5ewRBDwCBazRUfCOdRddwaQ3n2S57GDDeYOlTLcbV/V2dxSSZWg5Ofr48h6BsBmxw==", + "resolved": "10.0.7", + "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "B4qHB6gQ2B3I52YRohSV7wetp01BQzi8jDmrtiVm6e4l8vH5vjqwxWcR5wumGWjdBkj1asJLLsDIocdyTQSP0A==", + "resolved": "10.0.7", + "contentHash": "YqVIICoIdl0016wkeO2WQS+uEbEXbUhMLKdC5rZNl1X3nu59F+nwaAHdHjq/4OK+Cx31DYmNUSFh+MUot8qSDw==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Json": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Physical": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", + "resolved": "10.0.7", + "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" + "resolved": "10.0.7", + "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==", + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "xjkxIPgrT0mKTfBwb+CVqZnRchyZgzKIfDQOp8z+WUC6vPe3WokIf71z+hJPkH0YBUYJwa7Z/al1R087ib9oiw==", + "resolved": "10.0.7", + "contentHash": "l+smp1qPlU0OUXD0OGfdp7OUFrbdq7ZaP5T7m2WpfZ4RFKD7iG73BAT7tjSMxNmbSXkhAn1jYHOAqzYG1r9sNg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", + "resolved": "10.0.7", + "contentHash": "uJ9JP677y+uy+C0vtaSfi7XXgFAdz8DhU3M9lwwIXDfQKcyQ0yxM9DVYa0NXDtdVTYA2eBUtVFZ8LY0GCdeE/w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==", + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==", + "resolved": "10.0.7", + "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "UZUQ74lQMmvcprlG8w+XpxBbyRDQqfb7GAnccITw32hdkUBlmm9yNC4xl4aR9YjgV3ounZcub194sdmLSfBmPA==", + "resolved": "10.0.7", + "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileSystemGlobbing": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5hfVl/e+bx1px2UkN+1xXhd3hu7Ui6ENItBzckFaRDQXfr+SHT/7qrCDrlQekCF/PBtEu2vtk87U2+gDEF8EhQ==" + "resolved": "10.0.7", + "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA==" }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==", + "resolved": "10.0.7", + "contentHash": "5s8d6qC6EA8UOI4wR/+zlsq7SXttJMRb9d7zvVZ7+bE3CQEfVtC9ITUDCommm87R1zzj6WJBbCnztuIJXnP3DA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Http": "10.0.0", - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Http": "10.0.1", + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", + "resolved": "10.0.7", + "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", + "resolved": "10.0.7", + "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", + "resolved": "10.0.7", + "contentHash": "7BBnoGF37USiu7j434put9mDp7EjdlNDIZsR4vHfC1FbLZeLqiWjgJbeEtF0p59Ryqt8AtraHawf0ZKbe5jibg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "treWetuksp8LVb09fCJ5zNhNJjyDkqzVm83XxcrlWQnAdXznR140UUXo8PyEPBvFlHhjKhFQZEOP3Sk/ByCvEw==", + "resolved": "10.0.7", + "contentHash": "DA++Es6v6W0HfrOrw+K8WyN6jNnZHp640PDdEvl8yfeVmgflKdn6vSSFvufNUSOuY+M2ZaSUgfY+jUKtNpXcCw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "A/4vBtVaySLBGj4qluye+KSbeVCCMa6GcTbxf2YgnSDHs9b9105+VojBJ1eJPel8F1ny0JOh+Ci3vgCKn69tNQ==", + "resolved": "10.0.7", + "contentHash": "Y6DSt/JZApunYWKqTtqbdsR6iqAvHx3D0tavbNJ1rnC24MUpF+3XO/VKgFi+9PFqMyvQ2GHBBGb8H3cLSw7rDg==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EWda5nSXhzQZr3yJ3+XgIApOek+Hm+txhWCEzWNVPp/OfimL4qmvctgXu87m+S2RXw/AoUP8aLMNicJ2KWblVA==", + "resolved": "10.0.7", + "contentHash": "1C8eTuxF6BLncNSJ1HCfmaBcjpUSqQDPlBVdYTlet9oldHTPpNh9iatxSJLs8TOqdp/FOpH+nSLdBve7fu9mTQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "System.Diagnostics.EventLog": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Diagnostics.EventLog": "10.0.7" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "+Qc+kgoJi1w2A/Jm+7h04LcK2JoJkwAxKg7kBakkNRcemTmRGocqPa7rVNVGorTYruFrUS25GwkFNtOECnjhXg==", + "resolved": "10.0.7", + "contentHash": "YWfndnDX1jVMGCN8d5T+rO+BO8sDw6BkYlUk0BYui+WP7+HhlWx8QLdA4yUDjrkGVb3AQxIWWEPVKw5Nnfj5GQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.ObjectPool": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bpeCq0IYmVLACyEUMzFIOQX+zZUElG1t+nu1lSxthe7B+1oNYking7b91305+jNB6iwojp9fqTY9O+Nh7ULQxg==" + "resolved": "10.0.1", + "contentHash": "HqAEbtoAhgvH53c54IV5e4vQ60PYvl7Z/WIHsbet+UGGE7n+7dwVNXw1mb9LZlWbsxnupCevvtgIne5P//ZKpQ==" }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", + "resolved": "10.0.7", + "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" + "resolved": "10.0.7", + "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw==" }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics": "10.0.1", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" - } - }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, - "Microsoft.Identity.Client.Extensions.Msal": { - "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", - "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "System.Security.Cryptography.ProtectedData": "4.5.0" - } - }, - "Microsoft.Identity.Web.Certificate": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", - "dependencies": { - "Azure.Identity": "1.11.4", - "Azure.Security.KeyVault.Certificates": "4.6.0", - "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" - } - }, - "Microsoft.Identity.Web.Certificateless": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" - } - }, - "Microsoft.Identity.Web.Diagnostics": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" - }, - "Microsoft.Identity.Web.TokenAcquisition": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", - "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.Identity.Web.TokenCache": { - "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", - "dependencies": { - "Microsoft.AspNetCore.DataProtection": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Options": "10.0.1" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Logging": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", - "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.LoggingExtensions": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "2.1.1", - "Microsoft.IdentityModel.Abstractions": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "Microsoft.IdentityModel.Protocols.OpenIdConnect": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } + "resolved": "8.14.0", + "contentHash": "iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==" }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Configuration": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "OpenTelemetry.Api": "1.10.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -663,216 +428,118 @@ "System.Threading.RateLimiting": "8.0.0" } }, - "System.ClientModel": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", - "dependencies": { - "System.Memory.Data": "1.0.2" - } - }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "uaFRda9NjtbJRkdx311eXlAA3n2em7223c1A8d1VWyl+4FL9vkG7y2lpPfBU9HYdj/9KgdRNdn1vFK8ZYCYT/A==" - }, - "System.IdentityModel.Tokens.Jwt": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", - "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" - } - }, - "System.Memory.Data": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" - }, - "System.Security.Cryptography.Pkcs": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, - "System.Security.Cryptography.Xml": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "GQZn5wFd+pyOfwWaCbqxG7trQ5ox01oR8kYgWflgtux4HiUNihGEgG2TktRWyH+9bw7NoEju1D41H/upwQeFQw==", - "dependencies": { - "System.Security.Cryptography.Pkcs": "9.0.0" - } + "resolved": "10.0.7", + "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ==" }, "System.Threading.RateLimiting": { "type": "Transitive", "resolved": "8.0.0", "contentHash": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q==" }, - "ftgo.auth": { + "ftgo.auth.client": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" - } - }, - "Azure.Identity": { - "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", - "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" - } - }, - "Azure.Security.KeyVault.Certificates": { - "type": "CentralTransitive", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "FcoGTI/6i8nKZhwI0HrYnVWOQk9LhnP+9T3adFAGvU8i3XPc3KKJ93VGER8L+Ygez2bpyGsWj4fRjsYv2211PQ==", - "dependencies": { - "Azure.Core": "1.44.1" - } - }, - "Azure.Security.KeyVault.Secrets": { - "type": "CentralTransitive", - "requested": "[4.7.0, )", - "resolved": "4.7.0", - "contentHash": "uOPCojkm41V4dKTORyGzl3/f/lriKpxSQ43fWDn4StRJBVmbF1F/DNWJhwm207kCnqgE/W9+tskJSimIKHCZkw==", - "dependencies": { - "Azure.Core": "1.44.1" - } - }, - "Microsoft.AspNetCore.Authentication.JwtBearer": { - "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", - "dependencies": { - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" + "Microsoft.Extensions.Hosting": "[10.0.7, )", + "Microsoft.Extensions.Http": "[10.0.7, )", + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "Microsoft.Extensions.Options": "[10.0.7, )", + "Microsoft.Extensions.Options.DataAnnotations": "[10.0.7, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Microsoft.Extensions.Http": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "r+mSvm/Ryc/iYcc9zcUG5VP9EBB8PL1rgVU6macEaYk45vmGRk9PntM3aynFKN6s3Q4WW36kedTycIctctpTUQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "1wbd+RPhRo3hJKNJhdGEO5ls0LGe55Ho4BUjlFtRUrWxDVVBd7g0Ydq9fbNy86pmvx/j7AGcSPo7YNCo1IRI6Q==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Resilience": "10.1.0" } }, "Microsoft.Extensions.Options": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, - "Microsoft.Identity.Web": { + "Microsoft.Extensions.Options.DataAnnotations": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "KWepqdSD4PxhFvVh3mckkvJ03u3q/VChkr6nT3nf5mm2XBk8ojxt2E4It0RMblb3GE7hJ0zQzFzxGKL0d6TfXA==", "dependencies": { - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, - "Microsoft.Identity.Web.DownstreamApi": { + "OpenTelemetry.Api": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", - "dependencies": { - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" - } + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", - "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "OpenTelemetry": "1.10.0" - } - }, - "OpenTelemetry.Instrumentation.AspNetCore": { - "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.OrderService/Program.cs b/src/Ftgo.OrderService/Program.cs index 03c9a24..a9507f1 100644 --- a/src/Ftgo.OrderService/Program.cs +++ b/src/Ftgo.OrderService/Program.cs @@ -2,7 +2,7 @@ var builder = WebApplication.CreateBuilder(args); builder.Services.AddEntraAuth(builder.Configuration); -builder.Services.AddEntraAuthTelemetry("Ftgo.OrderService"); +builder.Services.AddEntraAuthWebTelemetry("Ftgo.OrderService"); builder.Services.AddEntraAuthProblemDetails(); builder.Services.AddControllers(); diff --git a/src/Ftgo.OrderService/packages.lock.json b/src/Ftgo.OrderService/packages.lock.json index 4a4794f..63c234a 100644 --- a/src/Ftgo.OrderService/packages.lock.json +++ b/src/Ftgo.OrderService/packages.lock.json @@ -19,26 +19,26 @@ }, "Microsoft.Identity.Web": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "rqMufh64Woj/kc39d9iCb12BTtBj9H40haLUemRAwoqvqSomYPlbMOwt1UD1Y5aMqmc8aYF06U5ATY8Qnw2iFg==", "dependencies": { - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "Microsoft.IdentityModel.Validators": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.DownstreamApi": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "MXCBVZO9Oj2hSZkPvEFcRg1/fyKNjqJQzAVxUjdCOzno3rd1BeVhuMddk9aYNJ3r79GD5lA3xJeneXo+SKlKCA==", "dependencies": { - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0" } }, "SonarAnalyzer.CSharp": { @@ -49,241 +49,185 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, "Microsoft.AspNetCore.Authentication.OpenIdConnect": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", + "resolved": "10.0.0", + "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==" + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==" }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==" + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==" + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==" }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==" + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==" }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.Identity.Web.Certificate": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", + "resolved": "4.8.0", + "contentHash": "G4nkrs1pKg6NxuSvyoRzokLfsfd2v5pXpXS1XUvHstvdWkQRBw8kTbSwRCvzdRFA1MW7Ct14zcp1P4kej7dB+g==", "dependencies": { "Azure.Identity": "1.11.4", "Azure.Security.KeyVault.Certificates": "4.6.0", "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.Diagnostics": "4.8.0" } }, "Microsoft.Identity.Web.Certificateless": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", + "resolved": "4.8.0", + "contentHash": "TegoXg/SX1mca1ygTZWTgLTXIZPQudmg5SLr9f50A8fzC4oFGkNOUfa9wii9SRikBGg4Sc31QxUeM/MMFyIX6A==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.IdentityModel.JsonWebTokens": "8.15.0" } }, "Microsoft.Identity.Web.Diagnostics": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" + "resolved": "4.8.0", + "contentHash": "oWYVlq2h86yAmqJHcDK0JrJfhDZTnF1M1vyY9mGx+x5E5GpNml7hTI1N1Kq4Z9JUtaPvz4dN8MgfUn7QyHZ13Q==" }, "Microsoft.Identity.Web.TokenAcquisition": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", + "resolved": "4.8.0", + "contentHash": "Nm4YJxUQuIThoRWprg9bv2vCDs2zzlOo7B4nfHoG3Spw5Ege2edFLY+iEtRh+GYW2Fhn97rYmwCgmaQ2IhYZxA==", "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.AspNetCore.Authentication.JwtBearer": "10.0.0", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Logging": "8.15.0", + "Microsoft.IdentityModel.LoggingExtensions": "8.15.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.TokenCache": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", + "resolved": "4.8.0", + "contentHash": "2TL0zev2SREJoIzZi9dQ+vv/Us6Q1ZpZD02ti0LhFDpFg/vKGD98pHmcz+f216PbWHzQpERzS3tMgcIGt2lywQ==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Web.Diagnostics": "4.8.0", + "System.Security.Cryptography.Pkcs": "10.0.6" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "8.17.0", + "contentHash": "6NrxQGcZg6IunkN8K2F0UVMavNpfCjbjjjON7PYcL8FwI8aULKUreiHsRX/yaA8j3XsTJnQKUYpoQk5gBjULZw==" }, "Microsoft.IdentityModel.Logging": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", + "resolved": "8.17.0", + "contentHash": "w1vjfri0BWqW7RkSZY3ZsqekNfIJJg5BQSFs2j+a+pCXOVrkezmJcn74pT3djwjXJh71577C6wJQgNc2UPz30w==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.17.0" } }, "Microsoft.IdentityModel.LoggingExtensions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", + "resolved": "8.15.0", + "contentHash": "u0/PCw/1sMka5DHi1SIviM74AKMm5k9C4FZNMCap+AzH+dGhX9yPZxZNisvnxmqdhDSQemiz+GwLdTIFDlgEog==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.15.0" } }, "Microsoft.IdentityModel.Protocols": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", + "resolved": "8.17.0", + "contentHash": "TYbO2KMvWvu8bxbEDCgzggNckCGjwr6NxFf2VYW7PpmCRbsoMNNgVYlCiRvy748t6gj5MJ8v/jcqWrcLMg6PaQ==", "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "Microsoft.IdentityModel.Protocols.OpenIdConnect": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", + "resolved": "8.17.0", + "contentHash": "8DuZM96o2epBioyp56Q+H8bdGwO8FnU4nQMa0c6pboe9+monH9PZGY+CHKmsdw90ObJ5OXtiKG1TWuLbJp2VvQ==", "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "Microsoft.OpenApi": { @@ -293,23 +237,18 @@ }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "OpenTelemetry.Api": "1.10.0" + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -335,30 +274,30 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "System.Memory.Data": "10.0.3" } }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", + "resolved": "8.17.0", + "contentHash": "nKikRYheDeSaXA3wGr2otwaiRFygBa25m+hc7MEomZVIEWZvKVqd8wgP9yn+8QpLRGgw//dUs4LErGx9gtVmAA==", "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.JsonWebTokens": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.6", + "contentHash": "88tquaGJ1htm4DHWS6x9jwER7sFET2SVRN7HqO1FYZwE0diDcUmz0ajhVa8ZD2HGhDJBueSPjP/gqyP3gXtT2A==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", @@ -368,25 +307,30 @@ "ftgo.auth": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" + "Ftgo.Auth.Client": "[1.0.0, )", + "Microsoft.Identity.Web": "[4.8.0, )", + "Microsoft.Identity.Web.DownstreamApi": "[4.8.0, )", + "Microsoft.IdentityModel.Validators": "[8.17.0, )", + "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.2, )" + } + }, + "ftgo.auth.client": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Azure.Identity": { "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -409,77 +353,117 @@ }, "Microsoft.AspNetCore.Authentication.JwtBearer": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "g8klpd7OFJfJOq1EJKcBO8C8I8Dp0QUWoKDPUvvJYe+xunVyBHq6YxfF2CAc6+rkniV25iaWl+6RK87c25n4lA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.Resilience": "10.1.0" } }, + "Microsoft.Identity.Abstractions": { + "type": "CentralTransitive", + "requested": "[12.0.0, )", + "resolved": "12.0.0", + "contentHash": "PW7ymSop61IsKJwOkPibZcCslW+mRL8uz+AmB9ixe9HBCQjV/duEIbjNzjRcD7tDn563TqTsg2hoFwo62RR6YA==" + }, "Microsoft.Identity.Client": { "type": "CentralTransitive", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "JbFZ3OVwtvqcqgBL0cIkhRYbIP7u9GIUYLOgbNqLWtBtZY8tGDpdGyXMzUVX0gVHq1ovuHsKZrkVv+ziHEnBHw==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "8.17.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "teaW35URIV2x78Tzk+dVJiC4M62/9mQoSEoDjDGoEZmcQa3H2rE+XQpm9Tmdo9KK1Lcrnve4zoyLavl69kCFGg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "8.17.0" + } + }, + "Microsoft.IdentityModel.Validators": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "Q5nFG+xl7PXh1Blb2q8a1/PPZH+/7xee0nNwN/15tcuzPQKSHnzqvfg5dEdWm5Ax2GN9e6oX4K5wo22/VB+b/w==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "8.17.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.AspNetCore": { "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.2, )", + "resolved": "1.15.2", + "contentHash": "2nPd7r0ug/gd6/CNFL6Rlu+RSQ9WYGSGHAYQ1ssbSqyzKJpqTunfx2I/1O0WB5k+L0cyXbG4XVZpoSoUc3M7wg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/src/Ftgo.RestaurantService/Program.cs b/src/Ftgo.RestaurantService/Program.cs index 6e63f5d..04b8676 100644 --- a/src/Ftgo.RestaurantService/Program.cs +++ b/src/Ftgo.RestaurantService/Program.cs @@ -2,7 +2,7 @@ var builder = WebApplication.CreateBuilder(args); builder.Services.AddEntraAuth(builder.Configuration); -builder.Services.AddEntraAuthTelemetry("Ftgo.RestaurantService"); +builder.Services.AddEntraAuthWebTelemetry("Ftgo.RestaurantService"); builder.Services.AddEntraAuthProblemDetails(); builder.Services.AddControllers(); diff --git a/src/Ftgo.RestaurantService/packages.lock.json b/src/Ftgo.RestaurantService/packages.lock.json index 4a4794f..63c234a 100644 --- a/src/Ftgo.RestaurantService/packages.lock.json +++ b/src/Ftgo.RestaurantService/packages.lock.json @@ -19,26 +19,26 @@ }, "Microsoft.Identity.Web": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "rqMufh64Woj/kc39d9iCb12BTtBj9H40haLUemRAwoqvqSomYPlbMOwt1UD1Y5aMqmc8aYF06U5ATY8Qnw2iFg==", "dependencies": { - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "Microsoft.IdentityModel.Validators": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.DownstreamApi": { "type": "Direct", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "MXCBVZO9Oj2hSZkPvEFcRg1/fyKNjqJQzAVxUjdCOzno3rd1BeVhuMddk9aYNJ3r79GD5lA3xJeneXo+SKlKCA==", "dependencies": { - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0" } }, "SonarAnalyzer.CSharp": { @@ -49,241 +49,185 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" - } - }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, "Microsoft.AspNetCore.Authentication.OpenIdConnect": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", + "resolved": "10.0.0", + "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==" + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==" }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==" + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==" + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==" }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==" + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==" }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.Identity.Web.Certificate": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", + "resolved": "4.8.0", + "contentHash": "G4nkrs1pKg6NxuSvyoRzokLfsfd2v5pXpXS1XUvHstvdWkQRBw8kTbSwRCvzdRFA1MW7Ct14zcp1P4kej7dB+g==", "dependencies": { "Azure.Identity": "1.11.4", "Azure.Security.KeyVault.Certificates": "4.6.0", "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.Diagnostics": "4.8.0" } }, "Microsoft.Identity.Web.Certificateless": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", + "resolved": "4.8.0", + "contentHash": "TegoXg/SX1mca1ygTZWTgLTXIZPQudmg5SLr9f50A8fzC4oFGkNOUfa9wii9SRikBGg4Sc31QxUeM/MMFyIX6A==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.IdentityModel.JsonWebTokens": "8.15.0" } }, "Microsoft.Identity.Web.Diagnostics": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" + "resolved": "4.8.0", + "contentHash": "oWYVlq2h86yAmqJHcDK0JrJfhDZTnF1M1vyY9mGx+x5E5GpNml7hTI1N1Kq4Z9JUtaPvz4dN8MgfUn7QyHZ13Q==" }, "Microsoft.Identity.Web.TokenAcquisition": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", + "resolved": "4.8.0", + "contentHash": "Nm4YJxUQuIThoRWprg9bv2vCDs2zzlOo7B4nfHoG3Spw5Ege2edFLY+iEtRh+GYW2Fhn97rYmwCgmaQ2IhYZxA==", "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.AspNetCore.Authentication.JwtBearer": "10.0.0", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Logging": "8.15.0", + "Microsoft.IdentityModel.LoggingExtensions": "8.15.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.TokenCache": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", + "resolved": "4.8.0", + "contentHash": "2TL0zev2SREJoIzZi9dQ+vv/Us6Q1ZpZD02ti0LhFDpFg/vKGD98pHmcz+f216PbWHzQpERzS3tMgcIGt2lywQ==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Web.Diagnostics": "4.8.0", + "System.Security.Cryptography.Pkcs": "10.0.6" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "8.17.0", + "contentHash": "6NrxQGcZg6IunkN8K2F0UVMavNpfCjbjjjON7PYcL8FwI8aULKUreiHsRX/yaA8j3XsTJnQKUYpoQk5gBjULZw==" }, "Microsoft.IdentityModel.Logging": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", + "resolved": "8.17.0", + "contentHash": "w1vjfri0BWqW7RkSZY3ZsqekNfIJJg5BQSFs2j+a+pCXOVrkezmJcn74pT3djwjXJh71577C6wJQgNc2UPz30w==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.17.0" } }, "Microsoft.IdentityModel.LoggingExtensions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", + "resolved": "8.15.0", + "contentHash": "u0/PCw/1sMka5DHi1SIviM74AKMm5k9C4FZNMCap+AzH+dGhX9yPZxZNisvnxmqdhDSQemiz+GwLdTIFDlgEog==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.15.0" } }, "Microsoft.IdentityModel.Protocols": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", + "resolved": "8.17.0", + "contentHash": "TYbO2KMvWvu8bxbEDCgzggNckCGjwr6NxFf2VYW7PpmCRbsoMNNgVYlCiRvy748t6gj5MJ8v/jcqWrcLMg6PaQ==", "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "Microsoft.IdentityModel.Protocols.OpenIdConnect": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", + "resolved": "8.17.0", + "contentHash": "8DuZM96o2epBioyp56Q+H8bdGwO8FnU4nQMa0c6pboe9+monH9PZGY+CHKmsdw90ObJ5OXtiKG1TWuLbJp2VvQ==", "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "Microsoft.OpenApi": { @@ -293,23 +237,18 @@ }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "OpenTelemetry.Api": "1.10.0" + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -335,30 +274,30 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "System.Memory.Data": "10.0.3" } }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", + "resolved": "8.17.0", + "contentHash": "nKikRYheDeSaXA3wGr2otwaiRFygBa25m+hc7MEomZVIEWZvKVqd8wgP9yn+8QpLRGgw//dUs4LErGx9gtVmAA==", "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.JsonWebTokens": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.6", + "contentHash": "88tquaGJ1htm4DHWS6x9jwER7sFET2SVRN7HqO1FYZwE0diDcUmz0ajhVa8ZD2HGhDJBueSPjP/gqyP3gXtT2A==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", @@ -368,25 +307,30 @@ "ftgo.auth": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" + "Ftgo.Auth.Client": "[1.0.0, )", + "Microsoft.Identity.Web": "[4.8.0, )", + "Microsoft.Identity.Web.DownstreamApi": "[4.8.0, )", + "Microsoft.IdentityModel.Validators": "[8.17.0, )", + "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.2, )" + } + }, + "ftgo.auth.client": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Azure.Identity": { "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -409,77 +353,117 @@ }, "Microsoft.AspNetCore.Authentication.JwtBearer": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "g8klpd7OFJfJOq1EJKcBO8C8I8Dp0QUWoKDPUvvJYe+xunVyBHq6YxfF2CAc6+rkniV25iaWl+6RK87c25n4lA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.Resilience": "10.1.0" } }, + "Microsoft.Identity.Abstractions": { + "type": "CentralTransitive", + "requested": "[12.0.0, )", + "resolved": "12.0.0", + "contentHash": "PW7ymSop61IsKJwOkPibZcCslW+mRL8uz+AmB9ixe9HBCQjV/duEIbjNzjRcD7tDn563TqTsg2hoFwo62RR6YA==" + }, "Microsoft.Identity.Client": { "type": "CentralTransitive", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "JbFZ3OVwtvqcqgBL0cIkhRYbIP7u9GIUYLOgbNqLWtBtZY8tGDpdGyXMzUVX0gVHq1ovuHsKZrkVv+ziHEnBHw==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "8.17.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "teaW35URIV2x78Tzk+dVJiC4M62/9mQoSEoDjDGoEZmcQa3H2rE+XQpm9Tmdo9KK1Lcrnve4zoyLavl69kCFGg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "8.17.0" + } + }, + "Microsoft.IdentityModel.Validators": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "Q5nFG+xl7PXh1Blb2q8a1/PPZH+/7xee0nNwN/15tcuzPQKSHnzqvfg5dEdWm5Ax2GN9e6oX4K5wo22/VB+b/w==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "8.17.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.AspNetCore": { "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.2, )", + "resolved": "1.15.2", + "contentHash": "2nPd7r0ug/gd6/CNFL6Rlu+RSQ9WYGSGHAYQ1ssbSqyzKJpqTunfx2I/1O0WB5k+L0cyXbG4XVZpoSoUc3M7wg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" } } } diff --git a/tests/Ftgo.Auth.Tests/EntraAuthJwtPostConfigureTests.cs b/tests/Ftgo.Auth.Tests/EntraAuthJwtPostConfigureTests.cs new file mode 100644 index 0000000..e2188a1 --- /dev/null +++ b/tests/Ftgo.Auth.Tests/EntraAuthJwtPostConfigureTests.cs @@ -0,0 +1,121 @@ +using Ftgo.Auth; +using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Options; +using Shouldly; +using Xunit; + +namespace Ftgo.Auth.Tests; + +public sealed class EntraAuthJwtPostConfigureTests +{ + private static IConfiguration BuildConfig(string clientId, string? tenantId = null) + { + var dict = new Dictionary + { + ["AzureAd:ClientId"] = clientId, + ["AzureAd:Instance"] = "https://login.microsoftonline.com/", + }; + if (tenantId is not null) dict["AzureAd:TenantId"] = tenantId; + return new ConfigurationBuilder().AddInMemoryCollection(dict).Build(); + } + + private static EntraAuthJwtPostConfigure CreateSut(EntraAuthOptions opts, IConfiguration config) => + new(Options.Create(opts), config); + + [Fact] + public void PostConfigure_PinsClientIdAsValidAudience() + { + var clientId = Guid.NewGuid().ToString(); + var sut = CreateSut(new EntraAuthOptions(), BuildConfig(clientId)); + var jwtOptions = new JwtBearerOptions(); + + sut.PostConfigure(JwtBearerDefaults.AuthenticationScheme, jwtOptions); + + jwtOptions.TokenValidationParameters.ValidAudiences.ShouldContain(clientId); + } + + [Fact] + public void PostConfigure_AddsAdditionalAudiencesAlongsideClientId() + { + var clientId = Guid.NewGuid().ToString(); + var extra = "api://legacy-app-id-uri"; + var sut = CreateSut( + new EntraAuthOptions { AdditionalAudiences = [extra] }, + BuildConfig(clientId)); + var jwtOptions = new JwtBearerOptions(); + + sut.PostConfigure(JwtBearerDefaults.AuthenticationScheme, jwtOptions); + + jwtOptions.TokenValidationParameters.ValidAudiences.ShouldBe(new[] { clientId, extra }, ignoreOrder: true); + } + + [Fact] + public void PostConfigure_IgnoresOtherAuthenticationSchemes() + { + var sut = CreateSut(new EntraAuthOptions(), BuildConfig(Guid.NewGuid().ToString())); + var jwtOptions = new JwtBearerOptions(); + + sut.PostConfigure("SomeOtherScheme", jwtOptions); + + jwtOptions.TokenValidationParameters.ValidAudiences.ShouldBeNull(); + } + + [Fact] + public void PostConfigure_DoesNotInstallIssuerValidator_ForSingleTenant() + { + var sut = CreateSut( + new EntraAuthOptions { Tenancy = TenancyMode.SingleTenant }, + BuildConfig(Guid.NewGuid().ToString())); + var jwtOptions = new JwtBearerOptions(); + + sut.PostConfigure(JwtBearerDefaults.AuthenticationScheme, jwtOptions); + + jwtOptions.TokenValidationParameters.IssuerValidator.ShouldBeNull(); + } + + [Fact] + public void PostConfigure_InstallsIssuerValidator_ForMultiTenant() + { + var sut = CreateSut( + new EntraAuthOptions + { + Tenancy = TenancyMode.MultiTenant, + AllowedTenantIds = [Guid.NewGuid().ToString()], + }, + BuildConfig(Guid.NewGuid().ToString())); + var jwtOptions = new JwtBearerOptions(); + + sut.PostConfigure(JwtBearerDefaults.AuthenticationScheme, jwtOptions); + + jwtOptions.TokenValidationParameters.IssuerValidator.ShouldNotBeNull(); + } + + [Fact] + public void PostConfigure_Throws_WhenMultiTenantHasEmptyAllowList() + { + var sut = CreateSut( + new EntraAuthOptions + { + Tenancy = TenancyMode.MultiTenant, + AllowedTenantIds = [], + }, + BuildConfig(Guid.NewGuid().ToString())); + var jwtOptions = new JwtBearerOptions(); + + Should.Throw( + () => sut.PostConfigure(JwtBearerDefaults.AuthenticationScheme, jwtOptions)); + } +} + +public sealed class RequireClientAppAttributeTests +{ + [Fact] + public void Attribute_DerivesAuthorizeAttribute_AndHardcodesPolicyName() + { + var attr = new RequireClientAppAttribute(); + attr.ShouldBeAssignableTo(); + attr.Policy.ShouldBe("EntraAuth:RequireClientApp"); + } +} diff --git a/tests/Ftgo.Auth.Tests/packages.lock.json b/tests/Ftgo.Auth.Tests/packages.lock.json index 2d6266a..db35024 100644 --- a/tests/Ftgo.Auth.Tests/packages.lock.json +++ b/tests/Ftgo.Auth.Tests/packages.lock.json @@ -62,12 +62,16 @@ }, "Azure.Core": { "type": "Transitive", - "resolved": "1.44.1", - "contentHash": "YyznXLQZCregzHvioip07/BkzjuWNXogJEVz9T5W6TwjNr17ax41YGzYMptlo2G10oLCuVPoyva62y0SIRDixg==", + "resolved": "1.53.0", + "contentHash": "x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.ClientModel": "1.1.0", - "System.Memory.Data": "6.0.0" + "Microsoft.Bcl.AsyncInterfaces": "10.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.83.1", + "System.ClientModel": "1.10.0", + "System.Memory.Data": "10.0.3" } }, "Castle.Core": { @@ -92,69 +96,28 @@ "resolved": "4.4.0", "contentHash": "gwJEfIGS7FhykvtZoscwXj/XwW+mJY6UbAZk+qtLKFUGWC95kfKXnj8VkxsZQnWBxJemM/q664rGLN5nf+OHZw==" }, - "Google.Protobuf": { - "type": "Transitive", - "resolved": "3.22.5", - "contentHash": "tTMtDZPbLxJew8pk7NBdqhLqC4OipfkZdwPuCEUNr2AoDo1siUGcxFqJK0wDewTL8ge5Cjrb16CToMPxBUHMGA==" - }, - "Grpc.Core.Api": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "SQiPyBczG4vKPmI6Fd+O58GcxxDSFr6nfRAJuBDUNj+PgdokhjWJvZE/La1c09AkL2FVm/jrDloG89nkzmVF7A==" - }, - "Grpc.Net.Client": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "hWVH9g/Nnjz40ni//2S8UIOyEmhueQREoZIkD0zKHEPqLxXcNlbp4eebXIOicZtkwDSx0TFz9NpkbecEDn6rBw==", - "dependencies": { - "Grpc.Net.Common": "2.52.0", - "Microsoft.Extensions.Logging.Abstractions": "3.0.3" - } - }, - "Grpc.Net.Common": { - "type": "Transitive", - "resolved": "2.52.0", - "contentHash": "di9qzpdx525IxumZdYmu6sG2y/gXJyYeZ1ruFUzB9BJ1nj4kU1/dTAioNCMt1VLRvNVDqh8S8B1oBdKhHJ4xRg==", - "dependencies": { - "Grpc.Core.Api": "2.52.0" - } - }, "Microsoft.AspNetCore.Authentication.OpenIdConnect": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "afrTDM8viZRruJGNkGa0pMhNqgjWBLln3DBPYrQaklOQn+wE9B5ZvOpi7l8l68JEwsBUVKteKyiY1ivPlK6kQw==", + "resolved": "10.0.0", + "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, "Microsoft.AspNetCore.Cryptography.Internal": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "M1dzTEl+2+RqT4vWcqEpWasPXHd58wC93U7QMlmPSmx+qixyVxCQjZ183wr7Wa68b4pF7wC501MU9rdA0ZNhMg==" - }, - "Microsoft.AspNetCore.DataProtection": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "mrhTnqMHkaVmaNZOWobg7ior5BELrlC5dC2r3FMVwT0bfOlonOe76B83e3D98Cl/zR5Szhfok2BQmkw6xDvHfg==", - "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "9.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" - } + "resolved": "10.0.7", + "contentHash": "unTeI3bPmzsl5Xo2Irg7jW8osCjo/H2rBT5sTqopUUI0gbLyTYuTjDyxoKjykjS/nS2jUdAKVFWFoGF1s1g4HQ==" }, "Microsoft.AspNetCore.DataProtection.Abstractions": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "o7JVGMXofZ4IuQdyoL0eKC1GnNmviZt2aI7CGHnQjqbz9hIrYim3DUfCKpvKaVzLWfzfgmwaXNg8Zx7fFQaBbA==" + "resolved": "10.0.7", + "contentHash": "SitkANPwiW0Z2w9bWAFwZ/MxFDDloBkNZCK+SfFJ+/IMUTMvrczBrHmy66+EdQTd2ybRzCm12aKAztQkDGyH6A==" }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + "resolved": "10.0.3", + "contentHash": "TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==" }, "Microsoft.CodeCoverage": { "type": "Transitive", @@ -163,376 +126,446 @@ }, "Microsoft.Extensions.AmbientMetadata.Application": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bqA2KZIknwyE9DCKEe3qvmr7odWRHmcMHlBwGvIPdFyaaxedeIQrELs+ryUgHHtgYK6TfK82jEMwBpJtERST6A==", + "resolved": "10.1.0", + "contentHash": "+T2Ax2fgw7T7nlhio+ZtgSyYGfevHCOXNPqO0vxA+f2HmbtfwAnIwHEE/jm1/4uFRDDP8PEENpxAhbucg+wUWg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.1", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1" } }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==", + "resolved": "10.0.0", + "contentHash": "Zcoy6H9mSoGyvr7UvlGokEZrlZkcPCICPZr8mCsSt9U/N8eeCwCXwKF5bShdA66R0obxBCwP4AxomQHvVkC/uA==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==", + "resolved": "10.0.0", + "contentHash": "krK19MKp0BNiR9rpBDW7PKSrTMLVlifS9am3CVc4O1Jq6GWz0o4F+sw5OSL4L3mVd56W8l6JRgghUa2KB51vOw==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" + "Microsoft.Extensions.Caching.Abstractions": "10.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Compliance.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dfJxd9USR8BbRzZZPWVoqFVVESJRTUh2tn6TmSPQsJ2mJjvGsGJGlELM9vctAfgthajBicRZ9zzxsu6s4VUmMQ==", + "resolved": "10.1.0", + "contentHash": "M3JWrgZMkVzyEybZzNkTiC/e8U1ipXTi8xm8bj+PHHp4AcEmhmIEqnxRS0VHVCKZjLkOPt2hY2CIisUFQ6gqLA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", + "resolved": "10.0.7", + "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", + "resolved": "10.0.7", + "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", + "resolved": "10.0.7", + "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "3lNjglxfFxOzI9zG+3HSg/YSGqo//8Fqw6u6iuIamZb4JCorbA3JLaeWOpfKTAPi2UJwaispOXWx14dUqcGz4A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "YqVIICoIdl0016wkeO2WQS+uEbEXbUhMLKdC5rZNl1X3nu59F+nwaAHdHjq/4OK+Cx31DYmNUSFh+MUot8qSDw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", + "resolved": "10.0.7", + "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" + "resolved": "10.0.7", + "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw==" }, "Microsoft.Extensions.DependencyInjection.AutoActivation": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "5t17Z77ysTmEla9/xUiOJLYLc8/9OyzlZJRxjTaSyiCi0mEroR0PwldKZsfwFLUOMSaNP6vngptYFbw7stO0rw==", + "resolved": "10.1.0", + "contentHash": "O052pqWkdVNXaj3n9E4x6nLL7sG860434gLh7XHhFp/KpyAY9/rCk9NJUinYfQnDkAA8UgCHimVZz+lTjnEwzQ==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "10.0.0" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.1" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "xjkxIPgrT0mKTfBwb+CVqZnRchyZgzKIfDQOp8z+WUC6vPe3WokIf71z+hJPkH0YBUYJwa7Z/al1R087ib9oiw==", + "resolved": "10.0.7", + "contentHash": "l+smp1qPlU0OUXD0OGfdp7OUFrbdq7ZaP5T7m2WpfZ4RFKD7iG73BAT7tjSMxNmbSXkhAn1jYHOAqzYG1r9sNg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", + "resolved": "10.0.7", + "contentHash": "uJ9JP677y+uy+C0vtaSfi7XXgFAdz8DhU3M9lwwIXDfQKcyQ0yxM9DVYa0NXDtdVTYA2eBUtVFZ8LY0GCdeE/w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Diagnostics.ExceptionSummarization": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "rfirztoSX5INXWX6YJ1iwTPfmsl53c3t3LN7rjOXbt5w5e0CmGVaUHYhABYq+rn+d+w0HWqgMiQubOZeirUAfw==", + "resolved": "10.1.0", + "contentHash": "Q76peCoP6vXXf95RLFeMGzcaQs8l3lk+n/ZOTi2i+OLd3R0HzzB0Fswjua4NY1viIbA1s6l1mqRjQbxY7+Jylw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.1" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "/ppSdehKk3fuXjlqCDgSOtjRK/pSHU8eWgzSHfHdwVm5BP4Dgejehkw+PtxKG2j98qTDEHDst2Y99aNsmJldmw==", + "resolved": "10.0.7", + "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "10.0.7" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileSystemGlobbing": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA==" + }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "KrN6TGFwCwqOkLLk/idW/XtDQh+8In+CL9T4M1Dx+5ScsjTq4TlVbal8q532m82UYrMr6RiQJF2HvYCN0QwVsA==", + "resolved": "10.0.7", + "contentHash": "5s8d6qC6EA8UOI4wR/+zlsq7SXttJMRb9d7zvVZ7+bE3CQEfVtC9ITUDCommm87R1zzj6WJBbCnztuIJXnP3DA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Http.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "Ll00tZzMmIO9wnA0JCqsmuDHfT1YXmtiGnpazZpAilwS/ro0gf8JIqgWOy6cLfBNDxFruaJhhvTKdLSlgcomHw==", + "resolved": "10.1.0", + "contentHash": "RA1Egggf5o7/5AI5TIxOmmV7T06X2jvA9nSlJazU++X/pgu48EDAjDflTq/+kAk0FHUm9ZpAiBVdWfOP2opAbQ==", "dependencies": { - "Microsoft.Extensions.Http": "10.0.0", - "Microsoft.Extensions.Telemetry": "10.0.0" + "Microsoft.Extensions.Http": "10.0.1", + "Microsoft.Extensions.Telemetry": "10.1.0" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", + "resolved": "10.0.7", + "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", + "resolved": "10.0.7", + "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", + "resolved": "10.0.7", + "contentHash": "7BBnoGF37USiu7j434put9mDp7EjdlNDIZsR4vHfC1FbLZeLqiWjgJbeEtF0p59Ryqt8AtraHawf0ZKbe5jibg==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "DA++Es6v6W0HfrOrw+K8WyN6jNnZHp640PDdEvl8yfeVmgflKdn6vSSFvufNUSOuY+M2ZaSUgfY+jUKtNpXcCw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "Y6DSt/JZApunYWKqTtqbdsR6iqAvHx3D0tavbNJ1rnC24MUpF+3XO/VKgFi+9PFqMyvQ2GHBBGb8H3cLSw7rDg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "1C8eTuxF6BLncNSJ1HCfmaBcjpUSqQDPlBVdYTlet9oldHTPpNh9iatxSJLs8TOqdp/FOpH+nSLdBve7fu9mTQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Diagnostics.EventLog": "10.0.7" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "10.0.7", + "contentHash": "YWfndnDX1jVMGCN8d5T+rO+BO8sDw6BkYlUk0BYui+WP7+HhlWx8QLdA4yUDjrkGVb3AQxIWWEPVKw5Nnfj5GQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.ObjectPool": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "bpeCq0IYmVLACyEUMzFIOQX+zZUElG1t+nu1lSxthe7B+1oNYking7b91305+jNB6iwojp9fqTY9O+Nh7ULQxg==" + "resolved": "10.0.1", + "contentHash": "HqAEbtoAhgvH53c54IV5e4vQ60PYvl7Z/WIHsbet+UGGE7n+7dwVNXw1mb9LZlWbsxnupCevvtgIne5P//ZKpQ==" }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", + "resolved": "10.0.7", + "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" + "resolved": "10.0.7", + "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw==" }, "Microsoft.Extensions.Resilience": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "EPW15dqrBiqkD6YE4XVWivGMXTTPE3YAmXJ32wr1k8E1l7veEYUHwzetOonV76GTe4oJl1np3AXYFnCRpBYU+w==", + "resolved": "10.1.0", + "contentHash": "NzA+c4m2q92qZPjiZLFm+ToeQC3KFqzP+Dr/1pV5y9d7H/hDM2Yxno0kcw5DGpSvS0s6Pwsp+FWMdk/kXBPZ7g==", "dependencies": { - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0", + "Microsoft.Extensions.Diagnostics": "10.0.1", + "Microsoft.Extensions.Diagnostics.ExceptionSummarization": "10.1.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0", "Polly.Extensions": "8.4.2", "Polly.RateLimiting": "8.4.2" } }, "Microsoft.Extensions.Telemetry": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "dII0Kuh699xBMBmK7oLJNNXmJ+kMRcpabil/VbAtO08zjSNQPb/dk/kBI6sVfWw20po1J/up03SAYeLKPc3LEg==", + "resolved": "10.1.0", + "contentHash": "OFnpwOBRZZXMMySvM7eJsEQ87ED5SaRbxHg/an1u89MWHw0mXUUbx5WPb5XFN0uS8kJPe6M+ZMRYwRP0nJeDPA==", "dependencies": { - "Microsoft.Extensions.AmbientMetadata.Application": "10.0.0", - "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Telemetry.Abstractions": "10.0.0" + "Microsoft.Extensions.AmbientMetadata.Application": "10.1.0", + "Microsoft.Extensions.DependencyInjection.AutoActivation": "10.1.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Telemetry.Abstractions": "10.1.0" } }, "Microsoft.Extensions.Telemetry.Abstractions": { "type": "Transitive", - "resolved": "10.0.0", - "contentHash": "M17n6IpgutodXxwTZk1r5Jp2ZZ995FJTKMxiEQSr6vT3iwRfRq2HWzzrR1B6N3MpJhDfI2QuMdCOLUq++GCsQg==", + "resolved": "10.1.0", + "contentHash": "0jAF2b0YJ1LOtunmo3PzSoJOx/ThhcGH5Y5kaV0jeM0BUlyr9orjg+fH5YabqnPSmwcN/DSTj0iZ7UwDISn5ag==", "dependencies": { - "Microsoft.Extensions.Compliance.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Compliance.Abstractions": "10.1.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.1", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Options": "10.0.1" } }, - "Microsoft.Identity.Abstractions": { - "type": "Transitive", - "resolved": "7.2.0", - "contentHash": "5jXbGO26X5+I33PE6hN86ggOfT4rAbiHm84s43sBtIsfB/mMpFrD9uQNWEbGXYNfh6gNRckle7xk+F8ce9K/rA==" - }, "Microsoft.Identity.Client.Extensions.Msal": { "type": "Transitive", - "resolved": "4.66.1", - "contentHash": "osgt1J9Rve3LO7wXqpWoFx9UFjl0oeqoUMK/xEru7dvafQ28RgV1A17CoCGCCRSUbgDQ4Arg5FgGK2lQ3lXR4A==", + "resolved": "4.83.1", + "contentHash": "I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==", "dependencies": { - "Microsoft.Identity.Client": "4.66.1", + "Microsoft.Identity.Client": "4.83.1", "System.Security.Cryptography.ProtectedData": "4.5.0" } }, "Microsoft.Identity.Web.Certificate": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "vhslyfe822zwHNifQkOOOhrGUE/PXRJaW8J/GGgTZtPbKa7fuNUK9qzNS2QEc7EyaefR9hA+TljiooMpFqTy6Q==", + "resolved": "4.8.0", + "contentHash": "G4nkrs1pKg6NxuSvyoRzokLfsfd2v5pXpXS1XUvHstvdWkQRBw8kTbSwRCvzdRFA1MW7Ct14zcp1P4kej7dB+g==", "dependencies": { "Azure.Identity": "1.11.4", "Azure.Security.KeyVault.Certificates": "4.6.0", "Azure.Security.KeyVault.Secrets": "4.6.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.Diagnostics": "3.5.0" + "Microsoft.Extensions.Logging.Abstractions": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.Diagnostics": "4.8.0" } }, "Microsoft.Identity.Web.Certificateless": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "5UmBLAcL2hJiuC1olXuLRN3ZU5y3rqL2mPLTt55o9N064sDUmdQLeLow90Q7JTVd8BPTMIJbczMSIT/mNTFUWw==", + "resolved": "4.8.0", + "contentHash": "TegoXg/SX1mca1ygTZWTgLTXIZPQudmg5SLr9f50A8fzC4oFGkNOUfa9wii9SRikBGg4Sc31QxUeM/MMFyIX6A==", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "2.1.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0" + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.IdentityModel.JsonWebTokens": "8.15.0" } }, "Microsoft.Identity.Web.Diagnostics": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "eJW0CwjFCmWu/01BnSveDeCJK7HfAxG6SrXp9AkQSNeMGkNY3vAOBNMAXUxVsPda8NvDaRCNlNrcHPtmArCXAg==" + "resolved": "4.8.0", + "contentHash": "oWYVlq2h86yAmqJHcDK0JrJfhDZTnF1M1vyY9mGx+x5E5GpNml7hTI1N1Kq4Z9JUtaPvz4dN8MgfUn7QyHZ13Q==" }, "Microsoft.Identity.Web.TokenAcquisition": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "JuqghOy7ZNCWAkfRA6zgALLyrCTicl8A4X9Ssx5M2o9ov5ART4/VWPWzWUb0tQqTcBlOY2uc9wKgfRS311f2Gw==", + "resolved": "4.8.0", + "contentHash": "Nm4YJxUQuIThoRWprg9bv2vCDs2zzlOo7B4nfHoG3Spw5Ege2edFLY+iEtRh+GYW2Fhn97rYmwCgmaQ2IhYZxA==", "dependencies": { - "Microsoft.AspNetCore.Authentication.JwtBearer": "9.0.0", - "Microsoft.AspNetCore.Authentication.OpenIdConnect": "9.0.0", - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Abstractions": "7.2.0", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Logging": "8.3.0", - "Microsoft.IdentityModel.LoggingExtensions": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.AspNetCore.Authentication.JwtBearer": "10.0.0", + "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", + "Microsoft.Identity.Abstractions": "12.0.0", + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Logging": "8.15.0", + "Microsoft.IdentityModel.LoggingExtensions": "8.15.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.TokenCache": { "type": "Transitive", - "resolved": "3.5.0", - "contentHash": "7tYg3F2xr+fwzV8Fm9h9bm4mVcFV6jOClr5j8q2YFQYYxMGj0XwHC18CcTRyI5sItYF6DDYJlvtsY6l92g+oAw==", + "resolved": "4.8.0", + "contentHash": "2TL0zev2SREJoIzZi9dQ+vv/Us6Q1ZpZD02ti0LhFDpFg/vKGD98pHmcz+f216PbWHzQpERzS3tMgcIGt2lywQ==", "dependencies": { - "Microsoft.AspNetCore.DataProtection": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Web.Diagnostics": "3.5.0", - "System.Security.Cryptography.Pkcs": "9.0.0", - "System.Security.Cryptography.Xml": "9.0.0" + "Microsoft.AspNetCore.DataProtection": "10.0.0", + "Microsoft.Extensions.Caching.Memory": "10.0.0", + "Microsoft.Extensions.Logging": "10.0.0", + "Microsoft.Identity.Client": "4.83.1", + "Microsoft.Identity.Web.Diagnostics": "4.8.0", + "System.Security.Cryptography.Pkcs": "10.0.6", + "System.Security.Cryptography.Xml": "10.0.6" } }, "Microsoft.IdentityModel.Abstractions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "jNin7yvWZu+K3U24q+6kD+LmGSRfbkHl9Px8hN1XrGwq6ZHgKGi/zuTm5m08G27fwqKfVXIWuIcUeq4Y1VQUOg==" - }, - "Microsoft.IdentityModel.JsonWebTokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4SVXLT8sDG7CrHiszEBrsDYi+aDW0W9d+fuWUGdZPBdan56aM6fGXJDjbI0TVGEDjJhXbACQd8F/BnC7a+m2RQ==", - "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" - } + "resolved": "8.17.0", + "contentHash": "6NrxQGcZg6IunkN8K2F0UVMavNpfCjbjjjON7PYcL8FwI8aULKUreiHsRX/yaA8j3XsTJnQKUYpoQk5gBjULZw==" }, "Microsoft.IdentityModel.Logging": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "4w4pSIGHhCCLTHqtVNR2Cc/zbDIUWIBHTZCu/9ZHm2SVwrXY3RJMcZ7EFGiKqmKZMQZJzA0bpwCZ6R8Yb7i5VQ==", + "resolved": "8.17.0", + "contentHash": "w1vjfri0BWqW7RkSZY3ZsqekNfIJJg5BQSFs2j+a+pCXOVrkezmJcn74pT3djwjXJh71577C6wJQgNc2UPz30w==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.17.0" } }, "Microsoft.IdentityModel.LoggingExtensions": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "6GhGvHq2oVhive7clxa/SjOkVIQ55UncY3FI+Y2HUv4BBaMVrMQNo7Prm6xqtNCXtrKmaqWYMrDIqRf5gphUjw==", + "resolved": "8.15.0", + "contentHash": "u0/PCw/1sMka5DHi1SIviM74AKMm5k9C4FZNMCap+AzH+dGhX9yPZxZNisvnxmqdhDSQemiz+GwLdTIFDlgEog==", "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "2.1.1", - "Microsoft.IdentityModel.Abstractions": "8.3.0" + "Microsoft.IdentityModel.Abstractions": "8.15.0" } }, "Microsoft.IdentityModel.Protocols": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "NNJajNK9cgH61BVY1T/yaHROjCn+KKGQHPk5gxzMBiSit6PW1teiqPBBfSO/y6hVkGMOVKc5hNJfqJsn+5jHjQ==", + "resolved": "8.17.0", + "contentHash": "TYbO2KMvWvu8bxbEDCgzggNckCGjwr6NxFf2VYW7PpmCRbsoMNNgVYlCiRvy748t6gj5MJ8v/jcqWrcLMg6PaQ==", "dependencies": { - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "Microsoft.IdentityModel.Protocols.OpenIdConnect": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "kwHswQYvRbggxanPOdE99bkOCELQkgEjg/GNAGTBcrmAZff849DIEBG/utPVNbVDFNDmR+xi0ublSfofWfNTww==", + "resolved": "8.17.0", + "contentHash": "8DuZM96o2epBioyp56Q+H8bdGwO8FnU4nQMa0c6pboe9+monH9PZGY+CHKmsdw90ObJ5OXtiKG1TWuLbJp2VvQ==", "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" - } - }, - "Microsoft.IdentityModel.Tokens": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "yGzqmk+kInH50zeSEH/L1/J0G4/yqTQNq4YmdzOhpE7s/86tz37NS2YbbY2ievbyGjmeBI1mq26QH+yBR6AK3Q==", - "dependencies": { - "Microsoft.IdentityModel.Logging": "8.3.0" - } - }, - "Microsoft.IdentityModel.Validators": { - "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "bwjSX8Y8Rv6PyRMSnC2mpVNtr25G2YuQuNEhSQ5943x0FxwdXJYpMvauLw8yyX7rOD+ZhBoFL9P4wdPriY77JA==", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "8.3.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.IdentityModel.Protocols": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" } }, "Microsoft.Testing.Extensions.TrxReport.Abstractions": { @@ -577,26 +610,21 @@ }, "OpenTelemetry": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "YUWnKsu0qsD7SO45r6a6nm6dAB3kVZ4Qf5DClU9xG+ObKV2beg0VJwX3U85pAaEhE/IBFp1C8Fj7L3F6gNjpeg==", + "resolved": "1.15.3", + "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==", "dependencies": { - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Configuration": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.10.0" + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3" } }, - "OpenTelemetry.Api": { - "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "HcmxppwGFna1oY8cLX6hZ/nU1dw07UutfOVCltrbVE3RNYwRD7qFdQRtQQAoKZnbXE9yW4QMdtohcLClNFOk8w==" - }, "OpenTelemetry.Api.ProviderBuilderExtensions": { "type": "Transitive", - "resolved": "1.10.0", - "contentHash": "cu+jYs6WdZjNohM1LriHRBs9JvpuWrdU8/Iz+DRoC0DkfKIlFubsp4lsoiKJm/aCgDBLAyvLmMna3Y3pMM8WpA==", + "resolved": "1.15.3", + "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "OpenTelemetry.Api": "1.10.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "OpenTelemetry.Api": "1.15.3" } }, "Polly.Core": { @@ -625,10 +653,13 @@ }, "System.ClientModel": { "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "UocOlCkxLZrG2CKMAAImPcldJTxeesHnHGHwhJ0pNlZEvEXcWKuQvVOER2/NiOkJGRJk978SNdw3j6/7O9H1lg==", + "resolved": "1.10.0", + "contentHash": "lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==", "dependencies": { - "System.Memory.Data": "1.0.2" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.3", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.3", + "Microsoft.Extensions.Logging.Abstractions": "10.0.3", + "System.Memory.Data": "10.0.3" } }, "System.CodeDom": { @@ -638,16 +669,16 @@ }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + "resolved": "10.0.7", + "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ==" }, "System.IdentityModel.Tokens.Jwt": { "type": "Transitive", - "resolved": "8.3.0", - "contentHash": "9GESpDG0Zb17HD5mBW/uEWi2yz/uKPmCthX2UhyLnk42moGH2FpMgXA2Y4l2Qc7P75eXSUTA6wb/c9D9GSVkzw==", + "resolved": "8.17.0", + "contentHash": "nKikRYheDeSaXA3wGr2otwaiRFygBa25m+hc7MEomZVIEWZvKVqd8wgP9yn+8QpLRGgw//dUs4LErGx9gtVmAA==", "dependencies": { - "Microsoft.IdentityModel.JsonWebTokens": "8.3.0", - "Microsoft.IdentityModel.Tokens": "8.3.0" + "Microsoft.IdentityModel.JsonWebTokens": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, "System.Management": { @@ -660,27 +691,19 @@ }, "System.Memory.Data": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ntFHArH3I4Lpjf5m4DCXQHJuGwWPNVJPaAvM95Jy/u+2Yzt2ryiyIN04LAogkjP9DeRcEOiviAjQotfmPq/FrQ==" + "resolved": "10.0.3", + "contentHash": "MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==" }, "System.Security.Cryptography.Pkcs": { "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "8tluJF8w9si+2yoHeL8rgVJS6lKvWomTDC8px65Z8MCzzdME5eaPtEQf4OfVGrAxB5fW93ncucy1+221O9EQaw==" + "resolved": "10.0.7", + "contentHash": "dbdKfF3eA5l+CXiAbDxiCxdezoxeanbue1ck8m49ih1L9uZG6ry8Ul8On6vpragyMDJJP4rQHUY/SWgk66tCYA==" }, "System.Security.Cryptography.ProtectedData": { "type": "Transitive", "resolved": "4.5.0", "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" }, - "System.Security.Cryptography.Xml": { - "type": "Transitive", - "resolved": "9.0.0", - "contentHash": "GQZn5wFd+pyOfwWaCbqxG7trQ5ox01oR8kYgWflgtux4HiUNihGEgG2TktRWyH+9bw7NoEju1D41H/upwQeFQw==", - "dependencies": { - "System.Security.Cryptography.Pkcs": "9.0.0" - } - }, "System.Threading.RateLimiting": { "type": "Transitive", "resolved": "8.0.0", @@ -744,25 +767,34 @@ "ftgo.auth": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Http.Resilience": "[10.0.0, )", - "Microsoft.Identity.Web": "[3.5.0, )", - "Microsoft.Identity.Web.DownstreamApi": "[3.5.0, )", - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.10.0, )", - "OpenTelemetry.Extensions.Hosting": "[1.10.0, )", - "OpenTelemetry.Instrumentation.AspNetCore": "[1.10.1, )", - "OpenTelemetry.Instrumentation.Http": "[1.10.0, )", - "OpenTelemetry.Instrumentation.Runtime": "[1.10.0, )" + "Ftgo.Auth.Client": "[1.0.0, )", + "Microsoft.Identity.Web": "[4.8.0, )", + "Microsoft.Identity.Web.DownstreamApi": "[4.8.0, )", + "Microsoft.IdentityModel.Validators": "[8.17.0, )", + "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.2, )" + } + }, + "ftgo.auth.client": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Hosting": "[10.0.7, )", + "Microsoft.Extensions.Http": "[10.0.7, )", + "Microsoft.Extensions.Http.Resilience": "[10.1.0, )", + "Microsoft.Extensions.Options": "[10.0.7, )", + "Microsoft.Extensions.Options.DataAnnotations": "[10.0.7, )", + "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )", + "OpenTelemetry.Extensions.Hosting": "[1.15.3, )", + "OpenTelemetry.Instrumentation.Http": "[1.15.1, )", + "OpenTelemetry.Instrumentation.Runtime": "[1.15.1, )" } }, "Azure.Identity": { "type": "CentralTransitive", - "requested": "[1.13.1, )", - "resolved": "1.13.1", - "contentHash": "4eeK9XztjTmvA4WN+qAvlUCSxSv45+LqTMeC8XT2giGGZHKthTMU2IuXcHjAOf5VLH3wE3Bo6EwhIcJxVB8RmQ==", + "requested": "[1.21.0, )", + "resolved": "1.21.0", + "contentHash": "GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==", "dependencies": { - "Azure.Core": "1.44.1", - "Microsoft.Identity.Client": "4.66.1", - "Microsoft.Identity.Client.Extensions.Msal": "4.66.1" + "Azure.Core": "1.53.0" } }, "Azure.Security.KeyVault.Certificates": { @@ -785,131 +817,247 @@ }, "Microsoft.AspNetCore.Authentication.JwtBearer": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "0BgDfT1GoZnzjJOBwx5vFMK5JtqsTEas9pCEwd1/KKxNUAqFmreN60WeUoF+CsmSd9tOQuqWedvdBo/QqHuNTQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "g8klpd7OFJfJOq1EJKcBO8C8I8Dp0QUWoKDPUvvJYe+xunVyBHq6YxfF2CAc6+rkniV25iaWl+6RK87c25n4lA==", "dependencies": { "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1" } }, + "Microsoft.AspNetCore.DataProtection": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "ETphwQ9b2gvTK0ET6cYQY77StbIvSmYHZJdsEOf5AY4YNmol5uIncdqLCJzFgE/KEH1ukRdXTkwSC27hNnltOw==", + "dependencies": { + "Microsoft.AspNetCore.Cryptography.Internal": "10.0.7", + "Microsoft.AspNetCore.DataProtection.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7", + "System.Security.Cryptography.Xml": "10.0.7" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7" + } + }, + "Microsoft.Extensions.Hosting": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "M/vBpfWcschvS2EUeq7cHfscsxabiGTptXwV7GeSueovGiSoNjyo1j5PMcWuOAAQrRW3nRqxZk8NeumrmpzUBg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "10.0.7", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.Configuration.Binder": "10.0.7", + "Microsoft.Extensions.Configuration.CommandLine": "10.0.7", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7", + "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7", + "Microsoft.Extensions.Configuration.Json": "10.0.7", + "Microsoft.Extensions.Configuration.UserSecrets": "10.0.7", + "Microsoft.Extensions.DependencyInjection": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7", + "Microsoft.Extensions.FileProviders.Physical": "10.0.7", + "Microsoft.Extensions.Hosting.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Logging.Configuration": "10.0.7", + "Microsoft.Extensions.Logging.Console": "10.0.7", + "Microsoft.Extensions.Logging.Debug": "10.0.7", + "Microsoft.Extensions.Logging.EventLog": "10.0.7", + "Microsoft.Extensions.Logging.EventSource": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, "Microsoft.Extensions.Http": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "r+mSvm/Ryc/iYcc9zcUG5VP9EBB8PL1rgVU6macEaYk45vmGRk9PntM3aynFKN6s3Q4WW36kedTycIctctpTUQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "1wbd+RPhRo3hJKNJhdGEO5ls0LGe55Ho4BUjlFtRUrWxDVVBd7g0Ydq9fbNy86pmvx/j7AGcSPo7YNCo1IRI6Q==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Diagnostics": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.7", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Diagnostics": "10.0.7", + "Microsoft.Extensions.Logging": "10.0.7", + "Microsoft.Extensions.Logging.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" } }, "Microsoft.Extensions.Http.Resilience": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "Mn/diApGtdtz83Mi+XO57WhO+FsiSScfjUsIU/h8nryh3pkUNZGhpUx22NtuOxgYSsrYfODgOa2QMtIQAOv/dA==", + "requested": "[10.1.0, )", + "resolved": "10.1.0", + "contentHash": "rwDoQBB93yQjd1XtcZBnOLRX23LW7Z49TIAp1sn7i2r/pW3y4iB8E+EEL0ZyOPuEZxT9xEVN9y39KWlG1FDPkQ==", "dependencies": { - "Microsoft.Extensions.Http.Diagnostics": "10.0.0", - "Microsoft.Extensions.ObjectPool": "10.0.0", - "Microsoft.Extensions.Resilience": "10.0.0" + "Microsoft.Extensions.Http.Diagnostics": "10.1.0", + "Microsoft.Extensions.ObjectPool": "10.0.1", + "Microsoft.Extensions.Resilience": "10.1.0" } }, "Microsoft.Extensions.Options": { "type": "CentralTransitive", - "requested": "[10.0.0, )", - "resolved": "10.0.0", - "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Primitives": "10.0.7" } }, + "Microsoft.Extensions.Options.DataAnnotations": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "KWepqdSD4PxhFvVh3mckkvJ03u3q/VChkr6nT3nf5mm2XBk8ojxt2E4It0RMblb3GE7hJ0zQzFzxGKL0d6TfXA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7", + "Microsoft.Extensions.Options": "10.0.7" + } + }, + "Microsoft.Identity.Abstractions": { + "type": "CentralTransitive", + "requested": "[12.0.0, )", + "resolved": "12.0.0", + "contentHash": "PW7ymSop61IsKJwOkPibZcCslW+mRL8uz+AmB9ixe9HBCQjV/duEIbjNzjRcD7tDn563TqTsg2hoFwo62RR6YA==" + }, "Microsoft.Identity.Client": { "type": "CentralTransitive", - "requested": "[4.66.2, )", - "resolved": "4.66.2", - "contentHash": "OsWRWpJs5iY9DxAF7DfWRGVNeFhjz75x+/bpHKB9Hbnu3THUgqYfQrYeQMgwx30ctweiV7h00aQpEua2kLeUpg==", + "requested": "[4.83.3, )", + "resolved": "4.83.3", + "contentHash": "XNJJn5uctuGvl3u6qzAof2TNysAZ/PPVKzkAglxvTO5XHgff/Ibs1+yi2G26Xrf6X/f780kS4fMKKdHcGb96hQ==", "dependencies": { - "Microsoft.IdentityModel.Abstractions": "6.35.0" + "Microsoft.IdentityModel.Abstractions": "8.14.0" } }, "Microsoft.Identity.Web": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "LyhpNMbPwAFge03wtVgKLAFJZ6hf9olh6RvpKiLsMG95kaRkrOF/dH+kBKLrXFHf7k/ZuWwnsA1i/uykqviXaA==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "rqMufh64Woj/kc39d9iCb12BTtBj9H40haLUemRAwoqvqSomYPlbMOwt1UD1Y5aMqmc8aYF06U5ATY8Qnw2iFg==", "dependencies": { - "Microsoft.Extensions.Http": "3.1.3", - "Microsoft.Identity.Web.Certificate": "3.5.0", - "Microsoft.Identity.Web.Certificateless": "3.5.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0", - "Microsoft.Identity.Web.TokenCache": "3.5.0", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.3.0", - "Microsoft.IdentityModel.Validators": "8.3.0", - "System.IdentityModel.Tokens.Jwt": "8.3.0" + "Microsoft.Identity.Web.Certificate": "4.8.0", + "Microsoft.Identity.Web.Certificateless": "4.8.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0", + "Microsoft.Identity.Web.TokenCache": "4.8.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.15.0", + "Microsoft.IdentityModel.Validators": "8.15.0", + "System.IdentityModel.Tokens.Jwt": "8.15.0" } }, "Microsoft.Identity.Web.DownstreamApi": { "type": "CentralTransitive", - "requested": "[3.5.0, )", - "resolved": "3.5.0", - "contentHash": "Imo8SJzZumi08+x9OHqnm1L+cuNIAozwAYzbBYMhGrj9zkgoAHIRMHhIpzp81ADxZkQHtczWpKpGBGUMnjypnQ==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "MXCBVZO9Oj2hSZkPvEFcRg1/fyKNjqJQzAVxUjdCOzno3rd1BeVhuMddk9aYNJ3r79GD5lA3xJeneXo+SKlKCA==", + "dependencies": { + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0", + "Microsoft.Identity.Web.TokenAcquisition": "4.8.0" + } + }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "JbFZ3OVwtvqcqgBL0cIkhRYbIP7u9GIUYLOgbNqLWtBtZY8tGDpdGyXMzUVX0gVHq1ovuHsKZrkVv+ziHEnBHw==", "dependencies": { - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0", - "Microsoft.Identity.Web.TokenAcquisition": "3.5.0" + "Microsoft.IdentityModel.Tokens": "8.17.0" } }, + "Microsoft.IdentityModel.Tokens": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "teaW35URIV2x78Tzk+dVJiC4M62/9mQoSEoDjDGoEZmcQa3H2rE+XQpm9Tmdo9KK1Lcrnve4zoyLavl69kCFGg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.IdentityModel.Logging": "8.17.0" + } + }, + "Microsoft.IdentityModel.Validators": { + "type": "CentralTransitive", + "requested": "[8.17.0, )", + "resolved": "8.17.0", + "contentHash": "Q5nFG+xl7PXh1Blb2q8a1/PPZH+/7xee0nNwN/15tcuzPQKSHnzqvfg5dEdWm5Ax2GN9e6oX4K5wo22/VB+b/w==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "8.17.0", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.17.0", + "Microsoft.IdentityModel.Tokens": "8.17.0", + "System.IdentityModel.Tokens.Jwt": "8.17.0" + } + }, + "OpenTelemetry.Api": { + "type": "CentralTransitive", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g==" + }, "OpenTelemetry.Exporter.OpenTelemetryProtocol": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "kdSehZAg5Q1CJPoOFPmq4eLSsWOn/ETtP4hsGum6ymM3FgIhklXZEXB61u8WaVdJNkk050CGUgQjGRGCt5UEqQ==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==", "dependencies": { - "Google.Protobuf": "[3.22.5, 4.0.0)", - "Grpc.Net.Client": "[2.52.0, 3.0.0)", - "OpenTelemetry": "1.10.0" + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Extensions.Hosting": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "luLe3deRmThvJd8+Oav4ohg+S3DoXnxDx06+GBinAgmVi873C9YPzA0dJlXG1Zeh7uFajzMtLhskaDejQYCFWw==", + "requested": "[1.15.3, )", + "resolved": "1.15.3", + "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==", "dependencies": { - "Microsoft.Extensions.Hosting.Abstractions": "9.0.0", - "OpenTelemetry": "1.10.0" + "Microsoft.Extensions.Hosting.Abstractions": "10.0.0", + "OpenTelemetry": "1.15.3" } }, "OpenTelemetry.Instrumentation.AspNetCore": { "type": "CentralTransitive", - "requested": "[1.10.1, )", - "resolved": "1.10.1", - "contentHash": "UaQKgFHtr92YISPHd8ASk/HjDukaaRTVr9YvNywPfqZ9x7+bptGGJQK/2ntTHRiFsJdNHJRXLt28dOFp0TGb9Q==", + "requested": "[1.15.2, )", + "resolved": "1.15.2", + "contentHash": "2nPd7r0ug/gd6/CNFL6Rlu+RSQ9WYGSGHAYQ1ssbSqyzKJpqTunfx2I/1O0WB5k+L0cyXbG4XVZpoSoUc3M7wg==", "dependencies": { - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Http": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "W6NtQ4BSJgMlCKJB6tHD2Y4v5h+1N48qp9l+BGa35G3+qU2tlqgitxg6Ruu7ijKwDsc10UAAovU4lAVyQTJ/1Q==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "vFO4Fj/dXkoVNGo/nhoGpO2zYQmZwr4jTID7oRGo+XlQ8LqksyZjUXQ4p39RfUvTID7IzzL8Qe71tW7CcAFymA==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.10.0, 2.0.0)" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.3, 2.0.0)" } }, "OpenTelemetry.Instrumentation.Runtime": { "type": "CentralTransitive", - "requested": "[1.10.0, )", - "resolved": "1.10.0", - "contentHash": "+IrgISnm2KxowLrCUheuQZP0r2t2XK8kkEJKpy3ZjAVN480qWXHmj5ZQJRhxDOYdIIgrZoL/7XaTO6CqtN7RMw==", + "requested": "[1.15.1, )", + "resolved": "1.15.1", + "contentHash": "cpPwlUT5HXcLGPaIgsbSy0W9eFYAPGVbTP1p8/uyQ4Osvf5BJuPpEXE7crL09SmEd44r0DGNKDtsqxaAz0HxQw==", + "dependencies": { + "OpenTelemetry.Api": "[1.15.3, 2.0.0)" + } + }, + "System.Security.Cryptography.Xml": { + "type": "CentralTransitive", + "requested": "[10.0.7, )", + "resolved": "10.0.7", + "contentHash": "wG/+ospsC2oR6j7INYh2V5/CWR6Cpt1Zjkxbo0lfovoi/2RpIcGZPVXOPBNVrI5fmrrji0mdNgez+FClDsIuYA==", "dependencies": { - "OpenTelemetry.Api": "[1.10.0, 2.0.0)" + "System.Security.Cryptography.Pkcs": "10.0.7" } } }