diff --git a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictApplicationStoreResolver.cs b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictApplicationStoreResolver.cs index 2f7b7682..6882ba5f 100644 --- a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictApplicationStoreResolver.cs +++ b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictApplicationStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFramework throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework 6.x context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework 6.x stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkStores().UseContext()'.") + .Append("use 'options.UseEntityFramework().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictAuthorizationStoreResolver.cs b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictAuthorizationStoreResolver.cs index 3a03f2b3..a67be50d 100644 --- a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictAuthorizationStoreResolver.cs +++ b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictAuthorizationStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFramework throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework 6.x context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework 6.x stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkStores().UseContext()'.") + .Append("use 'options.UseEntityFramework().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictScopeStoreResolver.cs b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictScopeStoreResolver.cs index e3029112..a61dc28f 100644 --- a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictScopeStoreResolver.cs +++ b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictScopeStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFramework throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework 6.x context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework 6.x stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkStores().UseContext()'.") + .Append("use 'options.UseEntityFramework().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictTokenStoreResolver.cs b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictTokenStoreResolver.cs index a560fccf..2b17d637 100644 --- a/src/OpenIddict.EntityFramework/Resolvers/OpenIddictTokenStoreResolver.cs +++ b/src/OpenIddict.EntityFramework/Resolvers/OpenIddictTokenStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFramework throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework 6.x context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework 6.x stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkStores().UseContext()'.") + .Append("use 'options.UseEntityFramework().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictApplicationStoreResolver.cs b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictApplicationStoreResolver.cs index a2bc512c..c9398954 100644 --- a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictApplicationStoreResolver.cs +++ b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictApplicationStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFrameworkCore throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework Core context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework Core stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkCoreStores().UseContext()'.") + .Append("use 'options.UseEntityFrameworkCore().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictAuthorizationStoreResolver.cs b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictAuthorizationStoreResolver.cs index 400a01ef..4335f3ac 100644 --- a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictAuthorizationStoreResolver.cs +++ b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictAuthorizationStoreResolver.cs @@ -67,7 +67,7 @@ namespace OpenIddict.EntityFrameworkCore throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework Core context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework Core stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkCoreStores().UseContext()'.") + .Append("use 'options.UseEntityFrameworkCore().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictScopeStoreResolver.cs b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictScopeStoreResolver.cs index 53b02961..1493ff46 100644 --- a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictScopeStoreResolver.cs +++ b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictScopeStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFrameworkCore throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework Core context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework Core stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkCoreStores().UseContext()'.") + .Append("use 'options.UseEntityFrameworkCore().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictTokenStoreResolver.cs b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictTokenStoreResolver.cs index fd00e308..1223ac56 100644 --- a/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictTokenStoreResolver.cs +++ b/src/OpenIddict.EntityFrameworkCore/Resolvers/OpenIddictTokenStoreResolver.cs @@ -66,7 +66,7 @@ namespace OpenIddict.EntityFrameworkCore throw new InvalidOperationException(new StringBuilder() .AppendLine("No Entity Framework Core context was specified in the OpenIddict options.") .Append("To configure the OpenIddict Entity Framework Core stores to use a specific 'DbContext', ") - .Append("use 'options.AddEntityFrameworkCoreStores().UseContext()'.") + .Append("use 'options.UseEntityFrameworkCore().UseDbContext()'.") .ToString()); } diff --git a/src/OpenIddict.Server/OpenIddictServerExtensions.cs b/src/OpenIddict.Server/OpenIddictServerExtensions.cs index 07e5d30e..edfddd9f 100644 --- a/src/OpenIddict.Server/OpenIddictServerExtensions.cs +++ b/src/OpenIddict.Server/OpenIddictServerExtensions.cs @@ -5,11 +5,14 @@ */ using System; +using System.Text; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using OpenIddict.Abstractions; using OpenIddict.Server; namespace Microsoft.Extensions.DependencyInjection @@ -32,7 +35,21 @@ namespace Microsoft.Extensions.DependencyInjection builder.Services.AddAuthentication(); builder.Services.TryAddScoped(); - builder.Services.TryAddScoped(); + builder.Services.TryAddScoped(provider => + { + InvalidOperationException CreateException() + => new InvalidOperationException(new StringBuilder() + .AppendLine("The core services must be registered when enabling the server handler.") + .Append("To register the OpenIddict core services, use 'services.AddOpenIddict().AddCore()'.") + .ToString()); + + return new OpenIddictServerProvider( + provider.GetRequiredService>(), + provider.GetService() ?? throw CreateException(), + provider.GetService() ?? throw CreateException(), + provider.GetService() ?? throw CreateException(), + provider.GetService() ?? throw CreateException()); + }); // Register the options initializers used by the OpenID Connect server handler and OpenIddict. // Note: TryAddEnumerable() is used here to ensure the initializers are only registered once.