diff --git a/Directory.Build.props b/Directory.Build.props
index 73b144ca..d688f7fd 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -43,13 +43,16 @@
net6.0;
- net7.0
+ net7.0;
+ net8.0
net6.0-windows7.0;
net6.0-windows10.0.17763;
net7.0-windows7.0;
- net7.0-windows10.0.17763
+ net7.0-windows10.0.17763;
+ net8.0-windows7.0;
+ net8.0-windows10.0.17763
netstandard2.0;
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 692ac5ab..1ff00b31 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -109,6 +109,12 @@
$(DefineConstants);SUPPORTS_AUTHENTICATION_HANDLER_SELECTION_FALLBACK
+
+ $(DefineConstants);SUPPORTS_IMMUTABLE_COLLECTIONS_MARSHAL
+ $(DefineConstants);SUPPORTS_TIME_PROVIDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
diff --git a/NuGet.config b/NuGet.config
index 998a1727..71a9c6b9 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -5,6 +5,9 @@
+
+
+
@@ -19,6 +22,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sandbox/OpenIddict.Sandbox.AspNetCore.Client/OpenIddict.Sandbox.AspNetCore.Client.csproj b/sandbox/OpenIddict.Sandbox.AspNetCore.Client/OpenIddict.Sandbox.AspNetCore.Client.csproj
index e0271a38..e8b91d39 100644
--- a/sandbox/OpenIddict.Sandbox.AspNetCore.Client/OpenIddict.Sandbox.AspNetCore.Client.csproj
+++ b/sandbox/OpenIddict.Sandbox.AspNetCore.Client/OpenIddict.Sandbox.AspNetCore.Client.csproj
@@ -1,7 +1,7 @@
- net7.0
+ net8.0
false
disable
diff --git a/sandbox/OpenIddict.Sandbox.AspNetCore.Server/OpenIddict.Sandbox.AspNetCore.Server.csproj b/sandbox/OpenIddict.Sandbox.AspNetCore.Server/OpenIddict.Sandbox.AspNetCore.Server.csproj
index e52acc10..eefd3c7e 100644
--- a/sandbox/OpenIddict.Sandbox.AspNetCore.Server/OpenIddict.Sandbox.AspNetCore.Server.csproj
+++ b/sandbox/OpenIddict.Sandbox.AspNetCore.Server/OpenIddict.Sandbox.AspNetCore.Server.csproj
@@ -1,7 +1,7 @@
- net7.0
+ net8.0
false
false
false
diff --git a/sandbox/OpenIddict.Sandbox.Console.Client/OpenIddict.Sandbox.Console.Client.csproj b/sandbox/OpenIddict.Sandbox.Console.Client/OpenIddict.Sandbox.Console.Client.csproj
index caf51e3b..d00328f7 100644
--- a/sandbox/OpenIddict.Sandbox.Console.Client/OpenIddict.Sandbox.Console.Client.csproj
+++ b/sandbox/OpenIddict.Sandbox.Console.Client/OpenIddict.Sandbox.Console.Client.csproj
@@ -2,7 +2,7 @@
Exe
- net48;net7.0
+ net48;net8.0
true
false
false
diff --git a/sandbox/OpenIddict.Sandbox.WinForms.Client/OpenIddict.Sandbox.WinForms.Client.csproj b/sandbox/OpenIddict.Sandbox.WinForms.Client/OpenIddict.Sandbox.WinForms.Client.csproj
index caac4ade..84890b02 100644
--- a/sandbox/OpenIddict.Sandbox.WinForms.Client/OpenIddict.Sandbox.WinForms.Client.csproj
+++ b/sandbox/OpenIddict.Sandbox.WinForms.Client/OpenIddict.Sandbox.WinForms.Client.csproj
@@ -2,7 +2,7 @@
WinExe
- net48;net7.0-windows7.0
+ net48;net8.0-windows7.0
true
true
true
diff --git a/sandbox/OpenIddict.Sandbox.Wpf.Client/OpenIddict.Sandbox.Wpf.Client.csproj b/sandbox/OpenIddict.Sandbox.Wpf.Client/OpenIddict.Sandbox.Wpf.Client.csproj
index 47aa9257..1b606c7a 100644
--- a/sandbox/OpenIddict.Sandbox.Wpf.Client/OpenIddict.Sandbox.Wpf.Client.csproj
+++ b/sandbox/OpenIddict.Sandbox.Wpf.Client/OpenIddict.Sandbox.Wpf.Client.csproj
@@ -2,7 +2,7 @@
WinExe
- net48;net7.0-windows10.0.17763
+ net48;net8.0-windows10.0.17763
true
true
true
diff --git a/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj b/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
index 93afebc0..857a6de1 100644
--- a/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
+++ b/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
@@ -28,6 +28,7 @@
+
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
index 3aa88910..5614bcef 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
@@ -30,6 +30,19 @@ public sealed class OpenIddictClientAspNetCoreHandler : AuthenticationHandler
/// Creates a new instance of the class.
///
+#if SUPPORTS_TIME_PROVIDER
+ public OpenIddictClientAspNetCoreHandler(
+ IOpenIddictClientDispatcher dispatcher,
+ IOpenIddictClientFactory factory,
+ IOptionsMonitor options,
+ ILoggerFactory logger,
+ UrlEncoder encoder)
+ : base(options, logger, encoder)
+ {
+ _dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
+ _factory = factory ?? throw new ArgumentNullException(nameof(factory));
+ }
+#else
public OpenIddictClientAspNetCoreHandler(
IOpenIddictClientDispatcher dispatcher,
IOpenIddictClientFactory factory,
@@ -42,6 +55,7 @@ public sealed class OpenIddictClientAspNetCoreHandler : AuthenticationHandler
public async Task HandleRequestAsync()
diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandler.cs b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandler.cs
index 10bc310e..d6fae362 100644
--- a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandler.cs
+++ b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandler.cs
@@ -30,6 +30,19 @@ public sealed class OpenIddictServerAspNetCoreHandler : AuthenticationHandler
/// Creates a new instance of the class.
///
+#if SUPPORTS_TIME_PROVIDER
+ public OpenIddictServerAspNetCoreHandler(
+ IOpenIddictServerDispatcher dispatcher,
+ IOpenIddictServerFactory factory,
+ IOptionsMonitor options,
+ ILoggerFactory logger,
+ UrlEncoder encoder)
+ : base(options, logger, encoder)
+ {
+ _dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
+ _factory = factory ?? throw new ArgumentNullException(nameof(factory));
+ }
+#else
public OpenIddictServerAspNetCoreHandler(
IOpenIddictServerDispatcher dispatcher,
IOpenIddictServerFactory factory,
@@ -42,6 +55,7 @@ public sealed class OpenIddictServerAspNetCoreHandler : AuthenticationHandler
public async Task HandleRequestAsync()
diff --git a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreHandler.cs b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreHandler.cs
index 5f7949b9..0e68dee4 100644
--- a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreHandler.cs
+++ b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreHandler.cs
@@ -27,6 +27,19 @@ public sealed class OpenIddictValidationAspNetCoreHandler : AuthenticationHandle
///
/// Creates a new instance of the class.
///
+#if SUPPORTS_TIME_PROVIDER
+ public OpenIddictValidationAspNetCoreHandler(
+ IOpenIddictValidationDispatcher dispatcher,
+ IOpenIddictValidationFactory factory,
+ IOptionsMonitor options,
+ ILoggerFactory logger,
+ UrlEncoder encoder)
+ : base(options, logger, encoder)
+ {
+ _dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
+ _factory = factory ?? throw new ArgumentNullException(nameof(factory));
+ }
+#else
public OpenIddictValidationAspNetCoreHandler(
IOpenIddictValidationDispatcher dispatcher,
IOpenIddictValidationFactory factory,
@@ -39,6 +52,7 @@ public sealed class OpenIddictValidationAspNetCoreHandler : AuthenticationHandle
_dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
_factory = factory ?? throw new ArgumentNullException(nameof(factory));
}
+#endif
///
public async Task HandleRequestAsync()
diff --git a/src/OpenIddict/OpenIddict.csproj b/src/OpenIddict/OpenIddict.csproj
index 28ca0b5a..482fb782 100644
--- a/src/OpenIddict/OpenIddict.csproj
+++ b/src/OpenIddict/OpenIddict.csproj
@@ -43,6 +43,9 @@ To use these features on ASP.NET Core or OWIN/Katana/ASP.NET 4.x, reference the
+
+
+