diff --git a/eng/Versions.props b/eng/Versions.props
index 285ce424..3873ae16 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -6,13 +6,29 @@
- 3.0.0
+ 2.1.0
+ 3.0.0
+
+
+
+ 2.1.0
+ 3.0.0
+
+
+
1.0.0
1.8.5
4.4.0
6.3.0
3.0.0
- 3.0.0
2019.1.3
12.0.2
1.0.2
diff --git a/global.json b/global.json
index 2d3e20f2..588b1a7d 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,9 @@
{
"tools": {
- "dotnet": "3.0.100-preview8-013656"
+ "dotnet": "3.0.100-preview8-013656",
+ "runtimes": {
+ "aspnetcore": [ "2.1.13" ]
+ }
},
"msbuild-sdks": {
diff --git a/samples/Mvc.Client/Mvc.Client.csproj b/samples/Mvc.Client/Mvc.Client.csproj
index 57121e63..206c01cb 100644
--- a/samples/Mvc.Client/Mvc.Client.csproj
+++ b/samples/Mvc.Client/Mvc.Client.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/Mvc.Server/Mvc.Server.csproj b/samples/Mvc.Server/Mvc.Server.csproj
index eeaa2c9c..a07a2d92 100644
--- a/samples/Mvc.Server/Mvc.Server.csproj
+++ b/samples/Mvc.Server/Mvc.Server.csproj
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj b/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
index bd5b08ce..081357f1 100644
--- a/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
+++ b/src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.0
+ net461;netcoreapp2.1;netcoreapp3.0
false
false
diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj b/src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj
index e6e0e074..8cb53981 100644
--- a/src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj
+++ b/src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.0
+ net461;netcoreapp2.1;netcoreapp3.0
@@ -9,10 +9,16 @@
$(PackageTags);server;aspnetcore
-
+
+
+
+
+
+
+
@@ -22,4 +28,8 @@
+
+ $(DefineConstants);SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS
+
+
diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Authentication.cs b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Authentication.cs
index a7550f6d..bfffc8df 100644
--- a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Authentication.cs
+++ b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Authentication.cs
@@ -207,7 +207,13 @@ namespace OpenIddict.Server.AspNetCore
// Generate a 256-bit request identifier using a crypto-secure random number generator.
var data = new byte[256 / 8];
+
+#if SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS
RandomNumberGenerator.Fill(data);
+#else
+ using var generator = RandomNumberGenerator.Create();
+ generator.GetBytes(data);
+#endif
context.Request.RequestId = Base64UrlEncoder.Encode(data);
diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Session.cs b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Session.cs
index 01da0d13..eb8bd8c4 100644
--- a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Session.cs
+++ b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Session.cs
@@ -205,7 +205,13 @@ namespace OpenIddict.Server.AspNetCore
// Generate a 256-bit request identifier using a crypto-secure random number generator.
var data = new byte[256 / 8];
+
+#if SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS
RandomNumberGenerator.Fill(data);
+#else
+ using var generator = RandomNumberGenerator.Create();
+ generator.GetBytes(data);
+#endif
context.Request.RequestId = Base64UrlEncoder.Encode(data);
diff --git a/src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj b/src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj
index 221e3e83..73659ceb 100644
--- a/src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj
+++ b/src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.0
+ net461;netcoreapp2.1;netcoreapp3.0
@@ -9,10 +9,14 @@
$(PackageTags);validation;aspnetcore
-
+
+
+
+
+
diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj b/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj
index 4bf2a9ab..3bd8b16f 100644
--- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj
+++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj
@@ -20,4 +20,8 @@
+
+ $(DefineConstants);SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER
+
+
diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs
index 66c7e739..35e4a9c4 100644
--- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs
+++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs
@@ -21,6 +21,13 @@ namespace OpenIddict.Validation.SystemNetHttp
public class OpenIddictValidationSystemNetHttpConfiguration : IConfigureOptions,
IConfigureNamedOptions
{
+#if !SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER
+ private readonly IServiceProvider _serviceProvider;
+
+ public OpenIddictValidationSystemNetHttpConfiguration([NotNull] IServiceProvider serviceProvider)
+ => _serviceProvider = serviceProvider;
+#endif
+
public void Configure([NotNull] OpenIddictValidationOptions options)
{
if (options == null)
@@ -61,8 +68,11 @@ namespace OpenIddict.Validation.SystemNetHttp
options.HttpMessageHandlerBuilderActions.Add(builder =>
{
+#if SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER
var options = builder.Services.GetRequiredService>();
-
+#else
+ var options = _serviceProvider.GetRequiredService>();
+#endif
var policy = options.CurrentValue.HttpErrorPolicy;
if (policy != null)
{
diff --git a/test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj b/test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj
index c3e81cf8..579990c1 100644
--- a/test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj
+++ b/test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj
@@ -1,8 +1,8 @@
- netcoreapp3.0;net461
- netcoreapp3.0
+ netcoreapp2.1;netcoreapp3.0;net461
+ netcoreapp2.1;netcoreapp3.0
diff --git a/test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj b/test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj
index 07dc66f2..6acd61de 100644
--- a/test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj
+++ b/test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj
@@ -1,8 +1,8 @@
- netcoreapp3.0;net461
- netcoreapp3.0
+ netcoreapp2.1;netcoreapp3.0;net461
+ netcoreapp2.1;netcoreapp3.0
diff --git a/test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj b/test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj
index f322d411..67b942cd 100644
--- a/test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj
+++ b/test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj
@@ -1,8 +1,8 @@
- netcoreapp3.0;net461
- netcoreapp3.0
+ netcoreapp2.1;netcoreapp3.0;net461
+ netcoreapp2.1;netcoreapp3.0
false
false
diff --git a/test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj b/test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj
index 0f4334cf..fbc0c688 100644
--- a/test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj
+++ b/test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj
@@ -1,8 +1,8 @@
- netcoreapp3.0;net461
- netcoreapp3.0
+ netcoreapp2.1;netcoreapp3.0;net461
+ netcoreapp2.1;netcoreapp3.0