diff --git a/IdentityServer/v8/Apis/ResourceBasedApi/ResourceBasedApi.csproj b/IdentityServer/v8/Apis/ResourceBasedApi/ResourceBasedApi.csproj
index 5bcf7096..b7129bc3 100755
--- a/IdentityServer/v8/Apis/ResourceBasedApi/ResourceBasedApi.csproj
+++ b/IdentityServer/v8/Apis/ResourceBasedApi/ResourceBasedApi.csproj
@@ -5,10 +5,10 @@
-
-
+
+
-
+
diff --git a/IdentityServer/v8/Apis/SimpleApi/SimpleApi.csproj b/IdentityServer/v8/Apis/SimpleApi/SimpleApi.csproj
index 82f38c3d..58de23a3 100755
--- a/IdentityServer/v8/Apis/SimpleApi/SimpleApi.csproj
+++ b/IdentityServer/v8/Apis/SimpleApi/SimpleApi.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/AspNetIdentity/Client/Client.csproj b/IdentityServer/v8/AspNetIdentity/Client/Client.csproj
index 908a88bf..41179fef 100755
--- a/IdentityServer/v8/AspNetIdentity/Client/Client.csproj
+++ b/IdentityServer/v8/AspNetIdentity/Client/Client.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/AspNetIdentity/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj b/IdentityServer/v8/AspNetIdentity/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
index 3d561cd8..bcf4d045 100755
--- a/IdentityServer/v8/AspNetIdentity/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
+++ b/IdentityServer/v8/AspNetIdentity/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
@@ -7,15 +7,15 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/IdentityServer/v8/AspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys.csproj b/IdentityServer/v8/AspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys.csproj
index 2c551dd2..61404285 100644
--- a/IdentityServer/v8/AspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys.csproj
+++ b/IdentityServer/v8/AspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys/IdentityServerAspNetIdentityPasskeys.csproj
@@ -6,14 +6,14 @@
-
-
+
+
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/IdentityServer/v8/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj b/IdentityServer/v8/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
index b02c9463..975d90b1 100644
--- a/IdentityServer/v8/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
+++ b/IdentityServer/v8/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
@@ -10,13 +10,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/IdentityServer/v8/Basics/ClientCredentials/src/Client.csproj b/IdentityServer/v8/Basics/ClientCredentials/src/Client.csproj
index 8e4e8a01..1c250640 100755
--- a/IdentityServer/v8/Basics/ClientCredentials/src/Client.csproj
+++ b/IdentityServer/v8/Basics/ClientCredentials/src/Client.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/Basics/Introspection/src/Client.csproj b/IdentityServer/v8/Basics/Introspection/src/Client.csproj
index 79e18f11..93ce1604 100755
--- a/IdentityServer/v8/Basics/Introspection/src/Client.csproj
+++ b/IdentityServer/v8/Basics/Introspection/src/Client.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Client.csproj b/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Client.csproj
index cee52a89..b5b6c44d 100755
--- a/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Client.csproj
+++ b/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Client.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Program.cs b/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Program.cs
index f21331f5..d4f3623a 100755
--- a/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Program.cs
+++ b/IdentityServer/v8/Basics/JwtBasedClientAuthentication/src/Program.cs
@@ -62,7 +62,7 @@ static async Task RequestTokenAsync(SigningCredentials signingCre
static string CreateClientToken(SigningCredentials credential, string clientId, string audience)
{
- var now = DateTime.UtcNow;
+ var now = DateTimeOffset.UtcNow;
var token = new JwtSecurityToken(
clientId,
@@ -71,10 +71,10 @@ static string CreateClientToken(SigningCredentials credential, string clientId,
{
new Claim(JwtClaimTypes.JwtId, Guid.NewGuid().ToString()),
new Claim(JwtClaimTypes.Subject, clientId),
- new Claim(JwtClaimTypes.IssuedAt, now.ToEpochTime().ToString(), ClaimValueTypes.Integer64)
+ new Claim(JwtClaimTypes.IssuedAt, now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)
},
- now,
- now.AddMinutes(1),
+ now.UtcDateTime,
+ now.UtcDateTime.AddMinutes(1),
credential
);
diff --git a/IdentityServer/v8/Basics/MvcBackChannelLogout/src/Client.csproj b/IdentityServer/v8/Basics/MvcBackChannelLogout/src/Client.csproj
index ed9aa1af..6c0b9db9 100755
--- a/IdentityServer/v8/Basics/MvcBackChannelLogout/src/Client.csproj
+++ b/IdentityServer/v8/Basics/MvcBackChannelLogout/src/Client.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Basics/MvcBasic/src/Client.csproj b/IdentityServer/v8/Basics/MvcBasic/src/Client.csproj
index f7b69394..08911691 100755
--- a/IdentityServer/v8/Basics/MvcBasic/src/Client.csproj
+++ b/IdentityServer/v8/Basics/MvcBasic/src/Client.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionConfigurationService.cs b/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionConfigurationService.cs
index 6f3dfa6c..5e05a046 100755
--- a/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionConfigurationService.cs
+++ b/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionConfigurationService.cs
@@ -1,6 +1,7 @@
// Copyright (c) Duende Software. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
+using System.Threading;
using System.Threading.Tasks;
using Duende.AccessTokenManagement;
using Duende.IdentityModel;
@@ -8,21 +9,16 @@
namespace Client;
-public class ClientAssertionService : IClientAssertionService
+public class ClientAssertionService(AssertionService assertionService) : IClientAssertionService
{
- private readonly AssertionService _assertionService;
-
- public ClientAssertionService(AssertionService assertionService)
- {
- _assertionService = assertionService;
- }
-
- public Task GetClientAssertionAsync(string clientName = null, TokenRequestParameters parameters = null)
+ public Task GetClientAssertionAsync(ClientCredentialsClientName? clientName = null,
+ TokenRequestParameters parameters = null,
+ CancellationToken ct = new CancellationToken())
{
var assertion = new ClientAssertion
{
Type = OidcConstants.ClientAssertionTypes.JwtBearer,
- Value = _assertionService.CreateClientToken()
+ Value = assertionService.CreateClientToken()
};
return Task.FromResult(assertion);
diff --git a/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionService.cs b/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionService.cs
index 695fad44..30d3c393 100755
--- a/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionService.cs
+++ b/IdentityServer/v8/Basics/MvcJarJwt/src/AssertionService.cs
@@ -12,22 +12,15 @@
namespace Client;
-public class AssertionService
+public class AssertionService(IConfiguration configuration)
{
- private readonly IConfiguration _configuration;
-
- public AssertionService(IConfiguration configuration)
- {
- _configuration = configuration;
- }
-
public string CreateClientToken()
{
- var now = DateTime.UtcNow;
- var clientId = _configuration.GetValue("ClientId");
+ var now = DateTimeOffset.UtcNow;
+ var clientId = configuration.GetValue("ClientId");
- // in production you should load that key from some secure location
- var key = _configuration.GetValue("Secrets:Key");
+ // in production, you should load that key from some secure location
+ var key = configuration.GetValue("Secrets:Key");
var token = new JwtSecurityToken(
clientId,
@@ -36,10 +29,10 @@ public string CreateClientToken()
{
new Claim(JwtClaimTypes.JwtId, Guid.NewGuid().ToString()),
new Claim(JwtClaimTypes.Subject, clientId),
- new Claim(JwtClaimTypes.IssuedAt, now.ToEpochTime().ToString(), ClaimValueTypes.Integer64)
+ new Claim(JwtClaimTypes.IssuedAt, now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)
},
- now,
- now.AddMinutes(1),
+ now.UtcDateTime,
+ now.UtcDateTime.AddMinutes(1),
new SigningCredentials(new JsonWebKey(key), "RS256")
);
@@ -54,10 +47,10 @@ public string CreateClientToken()
public string SignAuthorizationRequest(OpenIdConnectMessage message)
{
var now = DateTime.UtcNow;
- var clientId = _configuration.GetValue("ClientId");
+ var clientId = configuration.GetValue("ClientId");
// in production you should load that key from some secure location
- var key = _configuration.GetValue("Secrets:Key");
+ var key = configuration.GetValue("Secrets:Key");
var claims = new List();
foreach (var parameter in message.Parameters)
diff --git a/IdentityServer/v8/Basics/MvcJarJwt/src/Client.csproj b/IdentityServer/v8/Basics/MvcJarJwt/src/Client.csproj
index 226f7ce7..ad90312d 100755
--- a/IdentityServer/v8/Basics/MvcJarJwt/src/Client.csproj
+++ b/IdentityServer/v8/Basics/MvcJarJwt/src/Client.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Basics/MvcJarJwt/src/Program.cs b/IdentityServer/v8/Basics/MvcJarJwt/src/Program.cs
index e76cac67..73281abe 100755
--- a/IdentityServer/v8/Basics/MvcJarJwt/src/Program.cs
+++ b/IdentityServer/v8/Basics/MvcJarJwt/src/Program.cs
@@ -5,6 +5,7 @@
using System.IdentityModel.Tokens.Jwt;
using Client;
using Duende.AccessTokenManagement;
+using Duende.AccessTokenManagement.OpenIdConnect;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication.OpenIdConnect;
diff --git a/IdentityServer/v8/Basics/MvcPar/src/Client.csproj b/IdentityServer/v8/Basics/MvcPar/src/Client.csproj
index 8cd6e265..c5f829e1 100644
--- a/IdentityServer/v8/Basics/MvcPar/src/Client.csproj
+++ b/IdentityServer/v8/Basics/MvcPar/src/Client.csproj
@@ -5,10 +5,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Basics/MvcPar/src/Program.cs b/IdentityServer/v8/Basics/MvcPar/src/Program.cs
index e376e6d3..a36802a7 100644
--- a/IdentityServer/v8/Basics/MvcPar/src/Program.cs
+++ b/IdentityServer/v8/Basics/MvcPar/src/Program.cs
@@ -3,6 +3,7 @@
using System;
using Client;
+using Duende.AccessTokenManagement.OpenIdConnect;
using Duende.IdentityModel.Client;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Builder;
diff --git a/IdentityServer/v8/Basics/MvcTokenManagement/src/Client.csproj b/IdentityServer/v8/Basics/MvcTokenManagement/src/Client.csproj
index 226f7ce7..ad90312d 100755
--- a/IdentityServer/v8/Basics/MvcTokenManagement/src/Client.csproj
+++ b/IdentityServer/v8/Basics/MvcTokenManagement/src/Client.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Basics/MvcTokenManagement/src/Program.cs b/IdentityServer/v8/Basics/MvcTokenManagement/src/Program.cs
index 9d080822..e9994bd6 100755
--- a/IdentityServer/v8/Basics/MvcTokenManagement/src/Program.cs
+++ b/IdentityServer/v8/Basics/MvcTokenManagement/src/Program.cs
@@ -3,6 +3,7 @@
using System;
using Client;
+using Duende.AccessTokenManagement.OpenIdConnect;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Builder;
diff --git a/IdentityServer/v8/Basics/Shared/TokenResponseExtensions.cs b/IdentityServer/v8/Basics/Shared/TokenResponseExtensions.cs
index ce7c3ba1..ab40ca3d 100755
--- a/IdentityServer/v8/Basics/Shared/TokenResponseExtensions.cs
+++ b/IdentityServer/v8/Basics/Shared/TokenResponseExtensions.cs
@@ -2,6 +2,7 @@
// Licensed under the MIT License. See LICENSE in the project root for license information.
using System;
+using System.Buffers.Text;
using System.Diagnostics;
using System.Text;
using System.Text.Json;
@@ -27,8 +28,8 @@ public static void Show(this TokenResponse response)
var header = parts[0];
var claims = parts[1];
- Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.Decode(header))));
- Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.Decode(claims))));
+ Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.DecodeFromChars(header))));
+ Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.DecodeFromChars(claims))));
}
}
else
diff --git a/IdentityServer/v8/Configuration/IdentityServerHost/IdentityServer.csproj b/IdentityServer/v8/Configuration/IdentityServerHost/IdentityServer.csproj
index 2237b8af..755aece5 100644
--- a/IdentityServer/v8/Configuration/IdentityServerHost/IdentityServer.csproj
+++ b/IdentityServer/v8/Configuration/IdentityServerHost/IdentityServer.csproj
@@ -7,11 +7,11 @@
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/IdentityServer/v8/Configuration/Permissions/Configuration/Configuration.csproj b/IdentityServer/v8/Configuration/Permissions/Configuration/Configuration.csproj
index 7f1076bf..5db2b431 100644
--- a/IdentityServer/v8/Configuration/Permissions/Configuration/Configuration.csproj
+++ b/IdentityServer/v8/Configuration/Permissions/Configuration/Configuration.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/Permissions/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v8/Configuration/Permissions/ConsoleDcrClient/ConsoleDcrClient.csproj
index 840aceb1..98d847bb 100644
--- a/IdentityServer/v8/Configuration/Permissions/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v8/Configuration/Permissions/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Configuration/PipelineRegistration/Configuration/Configuration.csproj b/IdentityServer/v8/Configuration/PipelineRegistration/Configuration/Configuration.csproj
index dbaac544..51b159d3 100644
--- a/IdentityServer/v8/Configuration/PipelineRegistration/Configuration/Configuration.csproj
+++ b/IdentityServer/v8/Configuration/PipelineRegistration/Configuration/Configuration.csproj
@@ -7,11 +7,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/PipelineRegistration/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v8/Configuration/PipelineRegistration/ConsoleDcrClient/ConsoleDcrClient.csproj
index 7dcfa89b..f1956046 100644
--- a/IdentityServer/v8/Configuration/PipelineRegistration/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v8/Configuration/PipelineRegistration/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
index 7f1076bf..5db2b431 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
+++ b/IdentityServer/v8/Configuration/SimpleDcr/Configuration/Configuration.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
index 840aceb1..98d847bb 100644
--- a/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v8/Configuration/SimpleDcr/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Configuration/SoftwareStatement/Configuration/Configuration.csproj b/IdentityServer/v8/Configuration/SoftwareStatement/Configuration/Configuration.csproj
index 7f1076bf..5db2b431 100644
--- a/IdentityServer/v8/Configuration/SoftwareStatement/Configuration/Configuration.csproj
+++ b/IdentityServer/v8/Configuration/SoftwareStatement/Configuration/Configuration.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Configuration/SoftwareStatement/ConsoleDcrClient/ConsoleDcrClient.csproj b/IdentityServer/v8/Configuration/SoftwareStatement/ConsoleDcrClient/ConsoleDcrClient.csproj
index bee4d050..bb58f666 100644
--- a/IdentityServer/v8/Configuration/SoftwareStatement/ConsoleDcrClient/ConsoleDcrClient.csproj
+++ b/IdentityServer/v8/Configuration/SoftwareStatement/ConsoleDcrClient/ConsoleDcrClient.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/DPoP/Api/Api.csproj b/IdentityServer/v8/DPoP/Api/Api.csproj
index 97d3fede..a4e387c0 100644
--- a/IdentityServer/v8/DPoP/Api/Api.csproj
+++ b/IdentityServer/v8/DPoP/Api/Api.csproj
@@ -7,9 +7,9 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/DPoP/Api/Program.cs b/IdentityServer/v8/DPoP/Api/Program.cs
index e5f35336..012302a9 100644
--- a/IdentityServer/v8/DPoP/Api/Program.cs
+++ b/IdentityServer/v8/DPoP/Api/Program.cs
@@ -30,6 +30,14 @@
options.TokenValidationParameters.ValidTypes = ["at+jwt"];
});
+// Register in-memory distributed cache
+// This is fine for demos, but in production, consider using Redis or another distributed cache
+builder.Services.AddDistributedMemoryCache();
+
+// Register keyed HybridCache
+builder.Services.AddKeyedHybridCache(ServiceProviderKeys.ProofTokenReplayHybridCache);
+
+
// layers DPoP onto the "token" scheme above
builder.Services.ConfigureDPoPTokensForScheme("token", opt =>
{
diff --git a/IdentityServer/v8/DPoP/ClientCredentials/ClientCredentials.csproj b/IdentityServer/v8/DPoP/ClientCredentials/ClientCredentials.csproj
index b8e4aab7..63b09335 100644
--- a/IdentityServer/v8/DPoP/ClientCredentials/ClientCredentials.csproj
+++ b/IdentityServer/v8/DPoP/ClientCredentials/ClientCredentials.csproj
@@ -6,8 +6,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/DPoP/WebClient/WebClient.csproj b/IdentityServer/v8/DPoP/WebClient/WebClient.csproj
index 30689d3b..cf9d37d9 100644
--- a/IdentityServer/v8/DPoP/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/DPoP/WebClient/WebClient.csproj
@@ -6,10 +6,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Diagnostics/Aspire/Aspire.ApiService/Aspire.ApiService.csproj b/IdentityServer/v8/Diagnostics/Aspire/Aspire.ApiService/Aspire.ApiService.csproj
index 65f05489..dcea4252 100644
--- a/IdentityServer/v8/Diagnostics/Aspire/Aspire.ApiService/Aspire.ApiService.csproj
+++ b/IdentityServer/v8/Diagnostics/Aspire/Aspire.ApiService/Aspire.ApiService.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Diagnostics/Aspire/Aspire.AppHost/Aspire.AppHost.csproj b/IdentityServer/v8/Diagnostics/Aspire/Aspire.AppHost/Aspire.AppHost.csproj
index 0ca64c66..54dd981e 100644
--- a/IdentityServer/v8/Diagnostics/Aspire/Aspire.AppHost/Aspire.AppHost.csproj
+++ b/IdentityServer/v8/Diagnostics/Aspire/Aspire.AppHost/Aspire.AppHost.csproj
@@ -1,6 +1,6 @@
-
+
Exe
@@ -16,7 +16,7 @@
-
+
diff --git a/IdentityServer/v8/Diagnostics/Aspire/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj b/IdentityServer/v8/Diagnostics/Aspire/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
index e0f3d2c6..0adcdc6f 100644
--- a/IdentityServer/v8/Diagnostics/Aspire/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
+++ b/IdentityServer/v8/Diagnostics/Aspire/Aspire.ServiceDefaults/Aspire.ServiceDefaults.csproj
@@ -11,14 +11,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/IdentityServer/v8/Diagnostics/Aspire/Aspire.Web/Aspire.Web.csproj b/IdentityServer/v8/Diagnostics/Aspire/Aspire.Web/Aspire.Web.csproj
index 7814976d..8e197e34 100644
--- a/IdentityServer/v8/Diagnostics/Aspire/Aspire.Web/Aspire.Web.csproj
+++ b/IdentityServer/v8/Diagnostics/Aspire/Aspire.Web/Aspire.Web.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Diagnostics/Aspire/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Diagnostics/Aspire/IdentityServer/IdentityServer.csproj
index 43d14ebf..5a2671ca 100644
--- a/IdentityServer/v8/Diagnostics/Aspire/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Diagnostics/Aspire/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Diagnostics/Otel/src/Otel.csproj b/IdentityServer/v8/Diagnostics/Otel/src/Otel.csproj
index 8f1fbc5e..e0aca292 100644
--- a/IdentityServer/v8/Diagnostics/Otel/src/Otel.csproj
+++ b/IdentityServer/v8/Diagnostics/Otel/src/Otel.csproj
@@ -6,17 +6,17 @@
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/IdentityServer/v8/Diagnostics/Otel/src/Pages/SecurityHeadersAttribute.cs b/IdentityServer/v8/Diagnostics/Otel/src/Pages/SecurityHeadersAttribute.cs
index 1d1eec17..a23f32af 100644
--- a/IdentityServer/v8/Diagnostics/Otel/src/Pages/SecurityHeadersAttribute.cs
+++ b/IdentityServer/v8/Diagnostics/Otel/src/Pages/SecurityHeadersAttribute.cs
@@ -17,13 +17,13 @@ public override void OnResultExecuting(ResultExecutingContext context)
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
if (!context.HttpContext.Response.Headers.ContainsKey("X-Content-Type-Options"))
{
- context.HttpContext.Response.Headers.Add("X-Content-Type-Options", "nosniff");
+ context.HttpContext.Response.Headers.Append("X-Content-Type-Options", "nosniff");
}
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
if (!context.HttpContext.Response.Headers.ContainsKey("X-Frame-Options"))
{
- context.HttpContext.Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
+ context.HttpContext.Response.Headers.Append("X-Frame-Options", "SAMEORIGIN");
}
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
@@ -35,14 +35,14 @@ public override void OnResultExecuting(ResultExecutingContext context)
if (!context.HttpContext.Response.Headers.ContainsKey("Content-Security-Policy"))
{
- context.HttpContext.Response.Headers.Add("Content-Security-Policy", csp);
+ context.HttpContext.Response.Headers.Append("Content-Security-Policy", csp);
}
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
var referrer_policy = "no-referrer";
if (!context.HttpContext.Response.Headers.ContainsKey("Referrer-Policy"))
{
- context.HttpContext.Response.Headers.Add("Referrer-Policy", referrer_policy);
+ context.HttpContext.Response.Headers.Append("Referrer-Policy", referrer_policy);
}
}
}
diff --git a/IdentityServer/v8/Directory.Packages.props b/IdentityServer/v8/Directory.Packages.props
new file mode 100644
index 00000000..be051f6b
--- /dev/null
+++ b/IdentityServer/v8/Directory.Packages.props
@@ -0,0 +1,62 @@
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/IdentityServer/v8/IdentityServerHost/src/IdentityServerHost.csproj b/IdentityServer/v8/IdentityServerHost/src/IdentityServerHost.csproj
index db7ac524..737ef9d6 100755
--- a/IdentityServer/v8/IdentityServerHost/src/IdentityServerHost.csproj
+++ b/IdentityServer/v8/IdentityServerHost/src/IdentityServerHost.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/MTLS/Api/Api.csproj b/IdentityServer/v8/MTLS/Api/Api.csproj
index b5663dc2..6ff5700c 100644
--- a/IdentityServer/v8/MTLS/Api/Api.csproj
+++ b/IdentityServer/v8/MTLS/Api/Api.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/MTLS/ClientCredentials/ClientCredentials.csproj b/IdentityServer/v8/MTLS/ClientCredentials/ClientCredentials.csproj
index aeb4b60b..297de3c8 100644
--- a/IdentityServer/v8/MTLS/ClientCredentials/ClientCredentials.csproj
+++ b/IdentityServer/v8/MTLS/ClientCredentials/ClientCredentials.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/MTLS/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/MTLS/IdentityServerHost/IdentityServerHost.csproj
index 91268484..5dc0a46b 100644
--- a/IdentityServer/v8/MTLS/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/MTLS/IdentityServerHost/IdentityServerHost.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/McpDemo/McpDemo.Client/McpDemo.Client.csproj b/IdentityServer/v8/McpDemo/McpDemo.Client/McpDemo.Client.csproj
index aeba364e..acd394f6 100644
--- a/IdentityServer/v8/McpDemo/McpDemo.Client/McpDemo.Client.csproj
+++ b/IdentityServer/v8/McpDemo/McpDemo.Client/McpDemo.Client.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/McpDemo/McpDemo.IdentityServer/McpDemo.IdentityServer.csproj b/IdentityServer/v8/McpDemo/McpDemo.IdentityServer/McpDemo.IdentityServer.csproj
index 417057b0..ed4523c7 100644
--- a/IdentityServer/v8/McpDemo/McpDemo.IdentityServer/McpDemo.IdentityServer.csproj
+++ b/IdentityServer/v8/McpDemo/McpDemo.IdentityServer/McpDemo.IdentityServer.csproj
@@ -7,9 +7,9 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/McpDemo/McpDemo.McpServer/McpDemo.McpServer.csproj b/IdentityServer/v8/McpDemo/McpDemo.McpServer/McpDemo.McpServer.csproj
index 0b25522d..5e9abafb 100644
--- a/IdentityServer/v8/McpDemo/McpDemo.McpServer/McpDemo.McpServer.csproj
+++ b/IdentityServer/v8/McpDemo/McpDemo.McpServer/McpDemo.McpServer.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/PAT/Api/Api.csproj b/IdentityServer/v8/PAT/Api/Api.csproj
index 0e5c7a5a..303a83a7 100644
--- a/IdentityServer/v8/PAT/Api/Api.csproj
+++ b/IdentityServer/v8/PAT/Api/Api.csproj
@@ -6,9 +6,9 @@
-
-
+
+
-
+
diff --git a/IdentityServer/v8/PAT/Client/Client.csproj b/IdentityServer/v8/PAT/Client/Client.csproj
index 1340bf46..dc0fc534 100644
--- a/IdentityServer/v8/PAT/Client/Client.csproj
+++ b/IdentityServer/v8/PAT/Client/Client.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/PAT/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/PAT/IdentityServerHost/IdentityServerHost.csproj
index 7607fa46..7ff6b6d4 100644
--- a/IdentityServer/v8/PAT/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/PAT/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/IdentityServer/IdentityServer.csproj
index 3566ff7d..98c0f92a 100755
--- a/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/1_ClientCredentials/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
+
-
+
diff --git a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/IdentityServer/IdentityServer.csproj
index 79dab264..8b4ac349 100755
--- a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/2_InteractiveAspNetCore/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/IdentityServer/IdentityServer.csproj
index 0fe0a4c0..af2437f8 100755
--- a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/3_AspNetCoreAndApis/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Api/Api.csproj
index 580b2c3a..f340ba06 100644
--- a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Client/Client.csproj
index 4e30c707..32044da5 100644
--- a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/IdentityServer/IdentityServer.csproj
index 79dab264..8b4ac349 100644
--- a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/WebClient/WebClient.csproj
index cb4db5be..88bd53bf 100644
--- a/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/3a_TokenManagement/src/WebClient/WebClient.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/IdentityServer/IdentityServer.csproj
index 917803d7..0a23ba20 100755
--- a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/IdentityServer/IdentityServer.csproj
@@ -7,13 +7,13 @@
-
-
-
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
+
+
diff --git a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/4_EntityFramework/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/4_EntityFramework/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
index e57ef52a..4aa8a4f4 100644
--- a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
+++ b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/IdentityServerAspNetIdentity/IdentityServerAspNetIdentity.csproj
@@ -7,14 +7,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/5_AspNetIdentity/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/IdentityServer/IdentityServer.csproj
index 79dab264..8b4ac349 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/JavaScriptClient/JavaScriptClient.csproj b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/JavaScriptClient/JavaScriptClient.csproj
index f1bc0925..71de880f 100644
--- a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/JavaScriptClient/JavaScriptClient.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/JavaScriptClient/JavaScriptClient.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_with_backend/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Api/Api.csproj b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Api/Api.csproj
index 580b2c3a..f340ba06 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Api/Api.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Api/Api.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Client/Client.csproj b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Client/Client.csproj
index 4e30c707..32044da5 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Client/Client.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/Client/Client.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/IdentityServer/IdentityServer.csproj b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/IdentityServer/IdentityServer.csproj
index 79dab264..8b4ac349 100755
--- a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/IdentityServer/IdentityServer.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/IdentityServer/IdentityServer.csproj
@@ -7,8 +7,8 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/WebClient/WebClient.csproj b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/WebClient/WebClient.csproj
index 06d6e28a..77001a3d 100644
--- a/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/WebClient/WebClient.csproj
+++ b/IdentityServer/v8/Quickstarts/6_JS_without_backend/src/WebClient/WebClient.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/Quickstarts/7_Blazor/BFF/BFF.csproj b/IdentityServer/v8/Quickstarts/7_Blazor/BFF/BFF.csproj
index 125fad25..ef6fafb5 100644
--- a/IdentityServer/v8/Quickstarts/7_Blazor/BFF/BFF.csproj
+++ b/IdentityServer/v8/Quickstarts/7_Blazor/BFF/BFF.csproj
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/Quickstarts/7_Blazor/BlazorWasm/BlazorWasm.csproj b/IdentityServer/v8/Quickstarts/7_Blazor/BlazorWasm/BlazorWasm.csproj
index 052f812b..855c5b6e 100644
--- a/IdentityServer/v8/Quickstarts/7_Blazor/BlazorWasm/BlazorWasm.csproj
+++ b/IdentityServer/v8/Quickstarts/7_Blazor/BlazorWasm/BlazorWasm.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/IdentityServer/v8/ScopesAndResources/Client/Client.csproj b/IdentityServer/v8/ScopesAndResources/Client/Client.csproj
index f5582393..519b5e60 100644
--- a/IdentityServer/v8/ScopesAndResources/Client/Client.csproj
+++ b/IdentityServer/v8/ScopesAndResources/Client/Client.csproj
@@ -7,6 +7,6 @@
-
+
diff --git a/IdentityServer/v8/ScopesAndResources/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/ScopesAndResources/IdentityServerHost/IdentityServerHost.csproj
index ae886bed..f2c5414d 100644
--- a/IdentityServer/v8/ScopesAndResources/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/ScopesAndResources/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
+
-
+
diff --git a/IdentityServer/v8/SessionManagement/Client/Client.csproj b/IdentityServer/v8/SessionManagement/Client/Client.csproj
index bcb75e97..04a6612e 100644
--- a/IdentityServer/v8/SessionManagement/Client/Client.csproj
+++ b/IdentityServer/v8/SessionManagement/Client/Client.csproj
@@ -7,9 +7,9 @@
-
+
-
+
diff --git a/IdentityServer/v8/SessionManagement/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/SessionManagement/IdentityServerHost/IdentityServerHost.csproj
index 4e3200fe..c2e06155 100644
--- a/IdentityServer/v8/SessionManagement/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/SessionManagement/IdentityServerHost/IdentityServerHost.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/SessionManagement/SessionManagement.AppHost/SessionManagement.AppHost.csproj b/IdentityServer/v8/SessionManagement/SessionManagement.AppHost/SessionManagement.AppHost.csproj
index c0634152..bc5bad99 100644
--- a/IdentityServer/v8/SessionManagement/SessionManagement.AppHost/SessionManagement.AppHost.csproj
+++ b/IdentityServer/v8/SessionManagement/SessionManagement.AppHost/SessionManagement.AppHost.csproj
@@ -9,6 +9,7 @@
+
diff --git a/IdentityServer/v8/SessionMigration/SessionMigration.csproj b/IdentityServer/v8/SessionMigration/SessionMigration.csproj
index d789e055..fbb0edbd 100644
--- a/IdentityServer/v8/SessionMigration/SessionMigration.csproj
+++ b/IdentityServer/v8/SessionMigration/SessionMigration.csproj
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff --git a/IdentityServer/v8/TokenExchange/Client/Client.csproj b/IdentityServer/v8/TokenExchange/Client/Client.csproj
index df7831cf..519b5e60 100644
--- a/IdentityServer/v8/TokenExchange/Client/Client.csproj
+++ b/IdentityServer/v8/TokenExchange/Client/Client.csproj
@@ -7,6 +7,6 @@
-
+
diff --git a/IdentityServer/v8/TokenExchange/Client/TokenResponseExtensions.cs b/IdentityServer/v8/TokenExchange/Client/TokenResponseExtensions.cs
index 680e8c8d..9da417ff 100644
--- a/IdentityServer/v8/TokenExchange/Client/TokenResponseExtensions.cs
+++ b/IdentityServer/v8/TokenExchange/Client/TokenResponseExtensions.cs
@@ -1,6 +1,7 @@
// Copyright (c) Duende Software. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
+using System.Buffers.Text;
using System.Diagnostics;
using System.Text;
using System.Text.Json;
@@ -26,8 +27,8 @@ public static void Show(this TokenResponse response)
var header = parts[0];
var claims = parts[1];
- Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.Decode(header))));
- Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.Decode(claims))));
+ Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.DecodeFromChars(header))));
+ Console.WriteLine(PrettyPrintJson(Encoding.UTF8.GetString(Base64Url.DecodeFromChars(claims))));
}
}
else
diff --git a/IdentityServer/v8/TokenExchange/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/TokenExchange/IdentityServerHost/IdentityServerHost.csproj
index 3b532ccf..eff64d09 100644
--- a/IdentityServer/v8/TokenExchange/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/TokenExchange/IdentityServerHost/IdentityServerHost.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/TokenExchange/TokenExchange.AppHost/TokenExchange.AppHost.csproj b/IdentityServer/v8/TokenExchange/TokenExchange.AppHost/TokenExchange.AppHost.csproj
index 7c20cbd5..23ae9243 100644
--- a/IdentityServer/v8/TokenExchange/TokenExchange.AppHost/TokenExchange.AppHost.csproj
+++ b/IdentityServer/v8/TokenExchange/TokenExchange.AppHost/TokenExchange.AppHost.csproj
@@ -9,6 +9,7 @@
+
diff --git a/IdentityServer/v8/UserInteraction/Ciba/Client/Client.csproj b/IdentityServer/v8/UserInteraction/Ciba/Client/Client.csproj
index 5191c825..15e689e2 100644
--- a/IdentityServer/v8/UserInteraction/Ciba/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/Ciba/Client/Client.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/IdentityServer/v8/UserInteraction/Ciba/IdentityServer.AppHost/IdentityServer.AppHost.csproj b/IdentityServer/v8/UserInteraction/Ciba/IdentityServer.AppHost/IdentityServer.AppHost.csproj
index f40964df..c6e46ffd 100644
--- a/IdentityServer/v8/UserInteraction/Ciba/IdentityServer.AppHost/IdentityServer.AppHost.csproj
+++ b/IdentityServer/v8/UserInteraction/Ciba/IdentityServer.AppHost/IdentityServer.AppHost.csproj
@@ -9,6 +9,7 @@
+
diff --git a/IdentityServer/v8/UserInteraction/Ciba/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/Ciba/IdentityServerHost/IdentityServerHost.csproj
index 6a12afdc..c2d7ebdb 100644
--- a/IdentityServer/v8/UserInteraction/Ciba/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/Ciba/IdentityServerHost/IdentityServerHost.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/IdentityServer/v8/UserInteraction/DynamicProviders/Client/Client.csproj b/IdentityServer/v8/UserInteraction/DynamicProviders/Client/Client.csproj
index 459fa68a..57fd075f 100644
--- a/IdentityServer/v8/UserInteraction/DynamicProviders/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/DynamicProviders/Client/Client.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/DynamicProviders/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/DynamicProviders/IdentityServerHost/IdentityServerHost.csproj
index c48da913..67d15d25 100644
--- a/IdentityServer/v8/UserInteraction/DynamicProviders/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/DynamicProviders/IdentityServerHost/IdentityServerHost.csproj
@@ -6,12 +6,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/IdentityServer/v8/UserInteraction/ProfileService/Api/Api.csproj b/IdentityServer/v8/UserInteraction/ProfileService/Api/Api.csproj
index 7f7bbdb9..401a52fa 100644
--- a/IdentityServer/v8/UserInteraction/ProfileService/Api/Api.csproj
+++ b/IdentityServer/v8/UserInteraction/ProfileService/Api/Api.csproj
@@ -6,9 +6,9 @@
-
+
-
+
diff --git a/IdentityServer/v8/UserInteraction/ProfileService/Client/Client.csproj b/IdentityServer/v8/UserInteraction/ProfileService/Client/Client.csproj
index 8ab23cfd..27b0f887 100644
--- a/IdentityServer/v8/UserInteraction/ProfileService/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/ProfileService/Client/Client.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/ProfileService/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/ProfileService/IdentityServerHost/IdentityServerHost.csproj
index 2143ce9b..7ff6b6d4 100644
--- a/IdentityServer/v8/UserInteraction/ProfileService/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/ProfileService/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/SpaLoginUi/Client/Client.csproj b/IdentityServer/v8/UserInteraction/SpaLoginUi/Client/Client.csproj
index 63c3e61b..3d338a23 100644
--- a/IdentityServer/v8/UserInteraction/SpaLoginUi/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/SpaLoginUi/Client/Client.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/SpaLoginUi/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/SpaLoginUi/IdentityServerHost/IdentityServerHost.csproj
index 58d3e3f6..90a6d870 100644
--- a/IdentityServer/v8/UserInteraction/SpaLoginUi/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/SpaLoginUi/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/StepUp/Api/Api.csproj b/IdentityServer/v8/UserInteraction/StepUp/Api/Api.csproj
index 77eb08c9..156d5c40 100644
--- a/IdentityServer/v8/UserInteraction/StepUp/Api/Api.csproj
+++ b/IdentityServer/v8/UserInteraction/StepUp/Api/Api.csproj
@@ -5,8 +5,8 @@
enable
-
-
-
+
+
+
diff --git a/IdentityServer/v8/UserInteraction/StepUp/Client/Client.csproj b/IdentityServer/v8/UserInteraction/StepUp/Client/Client.csproj
index 9a5418d1..2dfc4ba9 100644
--- a/IdentityServer/v8/UserInteraction/StepUp/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/StepUp/Client/Client.csproj
@@ -5,8 +5,8 @@
enable
-
-
-
+
+
+
diff --git a/IdentityServer/v8/UserInteraction/StepUp/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/StepUp/IdentityServerHost/IdentityServerHost.csproj
index 58d3e3f6..90a6d870 100644
--- a/IdentityServer/v8/UserInteraction/StepUp/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/StepUp/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/WindowsAuthentication/Client/Client.csproj b/IdentityServer/v8/UserInteraction/WindowsAuthentication/Client/Client.csproj
index 63c3e61b..3d338a23 100644
--- a/IdentityServer/v8/UserInteraction/WindowsAuthentication/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/WindowsAuthentication/Client/Client.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/WindowsAuthentication/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/WindowsAuthentication/IdentityServerHost/IdentityServerHost.csproj
index 9bf54f02..146240b3 100644
--- a/IdentityServer/v8/UserInteraction/WindowsAuthentication/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/WindowsAuthentication/IdentityServerHost/IdentityServerHost.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/Client/Client.csproj b/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/Client/Client.csproj
index 459fa68a..57fd075f 100644
--- a/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/Client/Client.csproj
+++ b/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/Client/Client.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/IdentityServerHost/IdentityServerHost.csproj b/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/IdentityServerHost/IdentityServerHost.csproj
index c9b71027..64c8e474 100755
--- a/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/IdentityServerHost/IdentityServerHost.csproj
+++ b/IdentityServer/v8/UserInteraction/WsFederationDynamicProviders/IdentityServerHost/IdentityServerHost.csproj
@@ -6,12 +6,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/samples.slnx b/samples.slnx
index f55267c4..9b456fe8 100644
--- a/samples.slnx
+++ b/samples.slnx
@@ -328,6 +328,7 @@
+