Browse Source

Cross-compile the ASP.NET Core hosts to support ASP.NET Core 2.x on .NET Framework/.NET Core 2.1

pull/820/head
Kévin Chalet 7 years ago
parent
commit
edf371fd9e
  1. 20
      eng/Versions.props
  2. 5
      global.json
  3. 2
      samples/Mvc.Client/Mvc.Client.csproj
  4. 4
      samples/Mvc.Server/Mvc.Server.csproj
  5. 2
      src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj
  6. 14
      src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj
  7. 6
      src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Authentication.cs
  8. 6
      src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreHandlers.Session.cs
  9. 8
      src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj
  10. 4
      src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj
  11. 12
      src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs
  12. 4
      test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj
  13. 4
      test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj
  14. 4
      test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj
  15. 4
      test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj

20
eng/Versions.props

@ -6,13 +6,29 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<AspNetCoreVersion>3.0.0</AspNetCoreVersion> <AspNetCoreVersion Condition=" '$(TargetFramework)' == 'net461' Or
'$(TargetFramework)' == 'net472' Or
'$(TargetFramework)' == 'netstandard2.0' Or
'$(TargetFramework)' == 'netcoreapp2.1' ">2.1.0</AspNetCoreVersion>
<AspNetCoreVersion Condition=" '$(TargetFramework)' == 'netstandard2.1' Or
'$(TargetFramework)' == 'netcoreapp3.0' ">3.0.0</AspNetCoreVersion>
</PropertyGroup>
<PropertyGroup>
<ExtensionsVersion Condition=" '$(TargetFramework)' == 'net461' Or
'$(TargetFramework)' == 'net472' Or
'$(TargetFramework)' == 'netcoreapp2.1' Or
'$(TargetFramework)' == 'netstandard2.0' ">2.1.0</ExtensionsVersion>
<ExtensionsVersion Condition=" '$(TargetFramework)' == 'netstandard2.1' Or
'$(TargetFramework)' == 'netcoreapp3.0' ">3.0.0</ExtensionsVersion>
</PropertyGroup>
<PropertyGroup>
<BclAsyncInterfacesVersion>1.0.0</BclAsyncInterfacesVersion> <BclAsyncInterfacesVersion>1.0.0</BclAsyncInterfacesVersion>
<BouncyCastleVersion>1.8.5</BouncyCastleVersion> <BouncyCastleVersion>1.8.5</BouncyCastleVersion>
<DataAnnotationsVersion>4.4.0</DataAnnotationsVersion> <DataAnnotationsVersion>4.4.0</DataAnnotationsVersion>
<EntityFrameworkVersion>6.3.0</EntityFrameworkVersion> <EntityFrameworkVersion>6.3.0</EntityFrameworkVersion>
<EntityFrameworkCoreVersion>3.0.0</EntityFrameworkCoreVersion> <EntityFrameworkCoreVersion>3.0.0</EntityFrameworkCoreVersion>
<ExtensionsVersion>3.0.0</ExtensionsVersion>
<JetBrainsVersion>2019.1.3</JetBrainsVersion> <JetBrainsVersion>2019.1.3</JetBrainsVersion>
<JsonNetVersion>12.0.2</JsonNetVersion> <JsonNetVersion>12.0.2</JsonNetVersion>
<JsonNetBsonVersion>1.0.2</JsonNetBsonVersion> <JsonNetBsonVersion>1.0.2</JsonNetBsonVersion>

5
global.json

@ -1,6 +1,9 @@
{ {
"tools": { "tools": {
"dotnet": "3.0.100-preview8-013656" "dotnet": "3.0.100-preview8-013656",
"runtimes": {
"aspnetcore": [ "2.1.13" ]
}
}, },
"msbuild-sdks": { "msbuild-sdks": {

2
samples/Mvc.Client/Mvc.Client.csproj

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(AspNetCoreVersion)" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.0.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
samples/Mvc.Server/Mvc.Server.csproj

@ -16,8 +16,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="$(AspNetCoreVersion)" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="$(EntityFrameworkCoreVersion)" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
src/OpenIddict.AspNetCore/OpenIddict.AspNetCore.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<IncludeBuildOutput>false</IncludeBuildOutput> <IncludeBuildOutput>false</IncludeBuildOutput>
<IncludeSymbols>false</IncludeSymbols> <IncludeSymbols>false</IncludeSymbols>
</PropertyGroup> </PropertyGroup>

14
src/OpenIddict.Server.AspNetCore/OpenIddict.Server.AspNetCore.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
@ -9,10 +9,16 @@
<PackageTags>$(PackageTags);server;aspnetcore</PackageTags> <PackageTags>$(PackageTags);server;aspnetcore</PackageTags>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<FrameworkReference Include="Microsoft.AspNetCore.App" /> <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != 'netcoreapp3.0' ">
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Version="$(AspNetCoreVersion)" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="$(ExtensionsVersion)" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenIddict.Server\OpenIddict.Server.csproj" /> <ProjectReference Include="..\OpenIddict.Server\OpenIddict.Server.csproj" />
</ItemGroup> </ItemGroup>
@ -22,4 +28,8 @@
<PackageReference Include="Newtonsoft.Json.Bson" Version="$(JsonNetBsonVersion)" /> <PackageReference Include="Newtonsoft.Json.Bson" Version="$(JsonNetBsonVersion)" />
</ItemGroup> </ItemGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<DefineConstants>$(DefineConstants);SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS</DefineConstants>
</PropertyGroup>
</Project> </Project>

6
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. // Generate a 256-bit request identifier using a crypto-secure random number generator.
var data = new byte[256 / 8]; var data = new byte[256 / 8];
#if SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS
RandomNumberGenerator.Fill(data); RandomNumberGenerator.Fill(data);
#else
using var generator = RandomNumberGenerator.Create();
generator.GetBytes(data);
#endif
context.Request.RequestId = Base64UrlEncoder.Encode(data); context.Request.RequestId = Base64UrlEncoder.Encode(data);

6
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. // Generate a 256-bit request identifier using a crypto-secure random number generator.
var data = new byte[256 / 8]; var data = new byte[256 / 8];
#if SUPPORTS_STATIC_RANDOM_NUMBER_GENERATOR_METHODS
RandomNumberGenerator.Fill(data); RandomNumberGenerator.Fill(data);
#else
using var generator = RandomNumberGenerator.Create();
generator.GetBytes(data);
#endif
context.Request.RequestId = Base64UrlEncoder.Encode(data); context.Request.RequestId = Base64UrlEncoder.Encode(data);

8
src/OpenIddict.Validation.AspNetCore/OpenIddict.Validation.AspNetCore.csproj

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework> <TargetFrameworks>net461;netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
@ -9,10 +9,14 @@
<PackageTags>$(PackageTags);validation;aspnetcore</PackageTags> <PackageTags>$(PackageTags);validation;aspnetcore</PackageTags>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">
<FrameworkReference Include="Microsoft.AspNetCore.App" /> <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != 'netcoreapp3.0' ">
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="$(AspNetCoreVersion)" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenIddict.Validation\OpenIddict.Validation.csproj" /> <ProjectReference Include="..\OpenIddict.Validation\OpenIddict.Validation.csproj" />
</ItemGroup> </ItemGroup>

4
src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj

@ -20,4 +20,8 @@
<PackageReference Include="System.Linq.Async" Version="$(LinqAsyncVersion)" /> <PackageReference Include="System.Linq.Async" Version="$(LinqAsyncVersion)" />
</ItemGroup> </ItemGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER</DefineConstants>
</PropertyGroup>
</Project> </Project>

12
src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpConfiguration.cs

@ -21,6 +21,13 @@ namespace OpenIddict.Validation.SystemNetHttp
public class OpenIddictValidationSystemNetHttpConfiguration : IConfigureOptions<OpenIddictValidationOptions>, public class OpenIddictValidationSystemNetHttpConfiguration : IConfigureOptions<OpenIddictValidationOptions>,
IConfigureNamedOptions<HttpClientFactoryOptions> IConfigureNamedOptions<HttpClientFactoryOptions>
{ {
#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) public void Configure([NotNull] OpenIddictValidationOptions options)
{ {
if (options == null) if (options == null)
@ -61,8 +68,11 @@ namespace OpenIddict.Validation.SystemNetHttp
options.HttpMessageHandlerBuilderActions.Add(builder => options.HttpMessageHandlerBuilderActions.Add(builder =>
{ {
#if SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER
var options = builder.Services.GetRequiredService<IOptionsMonitor<OpenIddictValidationSystemNetHttpOptions>>(); var options = builder.Services.GetRequiredService<IOptionsMonitor<OpenIddictValidationSystemNetHttpOptions>>();
#else
var options = _serviceProvider.GetRequiredService<IOptionsMonitor<OpenIddictValidationSystemNetHttpOptions>>();
#endif
var policy = options.CurrentValue.HttpErrorPolicy; var policy = options.CurrentValue.HttpErrorPolicy;
if (policy != null) if (policy != null)
{ {

4
test/OpenIddict.Abstractions.Tests/OpenIddict.Abstractions.Tests.csproj

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netcoreapp3.0;net461</TargetFrameworks> <TargetFrameworks>netcoreapp2.1;netcoreapp3.0;net461</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp3.0</TargetFrameworks> <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

4
test/OpenIddict.Core.Tests/OpenIddict.Core.Tests.csproj

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netcoreapp3.0;net461</TargetFrameworks> <TargetFrameworks>netcoreapp2.1;netcoreapp3.0;net461</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp3.0</TargetFrameworks> <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

4
test/OpenIddict.MongoDb.Tests/OpenIddict.MongoDb.Tests.csproj

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netcoreapp3.0;net461</TargetFrameworks> <TargetFrameworks>netcoreapp2.1;netcoreapp3.0;net461</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp3.0</TargetFrameworks> <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
<SignAssembly>false</SignAssembly> <SignAssembly>false</SignAssembly>
<PublicSign>false</PublicSign> <PublicSign>false</PublicSign>
</PropertyGroup> </PropertyGroup>

4
test/OpenIddict.NHibernate.Tests/OpenIddict.NHibernate.Tests.csproj

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netcoreapp3.0;net461</TargetFrameworks> <TargetFrameworks>netcoreapp2.1;netcoreapp3.0;net461</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp3.0</TargetFrameworks> <TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netcoreapp2.1;netcoreapp3.0</TargetFrameworks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

Loading…
Cancel
Save