diff --git a/src/OpenIddict.Core/Managers/OpenIddictAuthorizationManager.cs b/src/OpenIddict.Core/Managers/OpenIddictAuthorizationManager.cs index 293acf93..428ba35e 100644 --- a/src/OpenIddict.Core/Managers/OpenIddictAuthorizationManager.cs +++ b/src/OpenIddict.Core/Managers/OpenIddictAuthorizationManager.cs @@ -1137,7 +1137,7 @@ namespace OpenIddict.Core => UpdateAsync((TAuthorization) authorization, cancellationToken); Task IOpenIddictAuthorizationManager.UpdateAsync(object authorization, OpenIddictAuthorizationDescriptor descriptor, CancellationToken cancellationToken) - => UpdateAsync((TAuthorization) authorization, cancellationToken); + => UpdateAsync((TAuthorization) authorization, descriptor, cancellationToken); Task> IOpenIddictAuthorizationManager.ValidateAsync(object authorization, CancellationToken cancellationToken) => ValidateAsync((TAuthorization) authorization, cancellationToken); diff --git a/src/OpenIddict.Server/IOpenIddictServerEvent.cs b/src/OpenIddict.Server/IOpenIddictServerEvent.cs index 6b371320..9ed87c85 100644 --- a/src/OpenIddict.Server/IOpenIddictServerEvent.cs +++ b/src/OpenIddict.Server/IOpenIddictServerEvent.cs @@ -1,4 +1,10 @@ -namespace OpenIddict.Server +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +namespace OpenIddict.Server { /// /// Represents an OpenIddict server event. diff --git a/src/OpenIddict.Server/IOpenIddictServerEventHandler.cs b/src/OpenIddict.Server/IOpenIddictServerEventHandler.cs index d620c2ff..0509a5be 100644 --- a/src/OpenIddict.Server/IOpenIddictServerEventHandler.cs +++ b/src/OpenIddict.Server/IOpenIddictServerEventHandler.cs @@ -1,4 +1,10 @@ -using System.Threading; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; diff --git a/src/OpenIddict.Server/IOpenIddictServerEventService.cs b/src/OpenIddict.Server/IOpenIddictServerEventService.cs deleted file mode 100644 index 0549bf1f..00000000 --- a/src/OpenIddict.Server/IOpenIddictServerEventService.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using JetBrains.Annotations; - -namespace OpenIddict.Server -{ - /// - /// Dispatches events by invoking the corresponding handlers. - /// - public interface IOpenIddictServerEventService - { - /// - /// Publishes a new event. - /// - /// The type of the event to publish. - /// The event to publish. - /// The that can be used to abort the operation. - /// A that can be used to monitor the asynchronous operation. - Task PublishAsync([NotNull] TEvent notification, CancellationToken cancellationToken = default) - where TEvent : class, IOpenIddictServerEvent; - } -} diff --git a/src/OpenIddict.Server/OpenIddictServerEventService.cs b/src/OpenIddict.Server/Internal/OpenIddictServerEventService.cs similarity index 94% rename from src/OpenIddict.Server/OpenIddictServerEventService.cs rename to src/OpenIddict.Server/Internal/OpenIddictServerEventService.cs index 4f359301..e1a1bf61 100644 --- a/src/OpenIddict.Server/OpenIddictServerEventService.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerEventService.cs @@ -1,4 +1,10 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using System.Threading; using System.Threading.Tasks; using AspNet.Security.OpenIdConnect.Primitives; @@ -6,12 +12,14 @@ using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; using static OpenIddict.Server.OpenIddictServerEvents; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { /// - /// Dispatches notifications by invoking the corresponding handlers. + /// Dispatches events by invoking the corresponding notification handlers. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - public class OpenIddictServerEventService : IOpenIddictServerEventService + public class OpenIddictServerEventService { private readonly IServiceProvider _provider; diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs b/src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs index 79405eec..280096f1 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs @@ -1,4 +1,9 @@ -using System.ComponentModel; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + using System.Text.Encodings.Web; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; @@ -6,9 +11,13 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - [EditorBrowsable(EditorBrowsableState.Never)] + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// public class OpenIddictServerHandler : OpenIdConnectServerHandler { public OpenIddictServerHandler( diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs b/src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs index 2c2e737e..24441bae 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs @@ -5,7 +5,6 @@ */ using System; -using System.ComponentModel; using System.Linq; using System.Text; using AspNet.Security.OpenIdConnect.Primitives; @@ -17,13 +16,13 @@ using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Options; using Microsoft.IdentityModel.Tokens; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { /// - /// Contains the methods required to ensure that the configuration - /// used by OpenIddict is in a consistent and valid state. + /// Contains the methods required to ensure that the OpenIddict server configuration is valid. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - [EditorBrowsable(EditorBrowsableState.Never)] public class OpenIddictServerInitializer : IPostConfigureOptions { private readonly IDistributedCache _cache; diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Authentication.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Authentication.cs index 0b0e7dee..f78cb1af 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Authentication.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Authentication.cs @@ -23,9 +23,14 @@ using Newtonsoft.Json.Bson; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override async Task ExtractAuthorizationRequest([NotNull] ExtractAuthorizationRequestContext context) { diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs index 174eb8dc..8bb34cfd 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Discovery.cs @@ -9,9 +9,14 @@ using AspNet.Security.OpenIdConnect.Primitives; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override Task ExtractConfigurationRequest([NotNull] ExtractConfigurationRequestContext context) => _eventService.PublishAsync(new OpenIddictServerEvents.ExtractConfigurationRequest(context)); diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Exchange.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Exchange.cs index a969d6eb..fe5f5375 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Exchange.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Exchange.cs @@ -16,9 +16,14 @@ using JetBrains.Annotations; using Microsoft.Extensions.Logging; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override Task ExtractTokenRequest([NotNull] ExtractTokenRequestContext context) => _eventService.PublishAsync(new OpenIddictServerEvents.ExtractTokenRequest(context)); diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Helpers.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Helpers.cs index 88821b2a..b2be2d9c 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Helpers.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Helpers.cs @@ -19,9 +19,14 @@ using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { private async Task CreateAuthorizationAsync([NotNull] AuthenticationTicket ticket, [NotNull] OpenIddictServerOptions options, [NotNull] OpenIdConnectRequest request) diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Introspection.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Introspection.cs index 819a9ef7..a254bcdd 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Introspection.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Introspection.cs @@ -13,9 +13,14 @@ using JetBrains.Annotations; using Microsoft.Extensions.Logging; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override Task ExtractIntrospectionRequest([NotNull] ExtractIntrospectionRequestContext context) => _eventService.PublishAsync(new OpenIddictServerEvents.ExtractIntrospectionRequest(context)); diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Revocation.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Revocation.cs index e9da671a..9870f460 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Revocation.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Revocation.cs @@ -14,9 +14,14 @@ using JetBrains.Annotations; using Microsoft.Extensions.Logging; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override Task ExtractRevocationRequest([NotNull] ExtractRevocationRequestContext context) => _eventService.PublishAsync(new OpenIddictServerEvents.ExtractRevocationRequest(context)); diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Serialization.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Serialization.cs index a06dbcb0..1eac0942 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Serialization.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Serialization.cs @@ -10,9 +10,14 @@ using AspNet.Security.OpenIdConnect.Primitives; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override async Task DeserializeAccessToken([NotNull] DeserializeAccessTokenContext context) { diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Session.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Session.cs index 2cf47826..9a3279d4 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Session.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Session.cs @@ -20,9 +20,14 @@ using Newtonsoft.Json.Bson; using Newtonsoft.Json.Linq; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override async Task ExtractLogoutRequest([NotNull] ExtractLogoutRequestContext context) { diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Userinfo.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Userinfo.cs index c28196f3..1688d3a3 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Userinfo.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.Userinfo.cs @@ -8,9 +8,14 @@ using System.Threading.Tasks; using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + /// + /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { public override Task ExtractUserinfoRequest([NotNull] ExtractUserinfoRequestContext context) { diff --git a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs index 9f2954cd..cbf9cb6e 100644 --- a/src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs +++ b/src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs @@ -18,16 +18,17 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.Logging; using OpenIddict.Abstractions; -namespace OpenIddict.Server +namespace OpenIddict.Server.Internal { /// /// Provides the logic necessary to extract, validate and handle OpenID Connect requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - [EditorBrowsable(EditorBrowsableState.Never)] - public partial class OpenIddictServerProvider : OpenIdConnectServerProvider + public sealed partial class OpenIddictServerProvider : OpenIdConnectServerProvider { private readonly ILogger _logger; - private readonly IOpenIddictServerEventService _eventService; + private readonly OpenIddictServerEventService _eventService; private readonly IOpenIddictApplicationManager _applicationManager; private readonly IOpenIddictAuthorizationManager _authorizationManager; private readonly IOpenIddictScopeManager _scopeManager; @@ -35,7 +36,7 @@ namespace OpenIddict.Server public OpenIddictServerProvider( [NotNull] ILogger logger, - [NotNull] IOpenIddictServerEventService eventService, + [NotNull] OpenIddictServerEventService eventService, [NotNull] IOpenIddictApplicationManager applicationManager, [NotNull] IOpenIddictAuthorizationManager authorizationManager, [NotNull] IOpenIddictScopeManager scopeManager, diff --git a/src/OpenIddict.Server/OpenIddictServerDefaults.cs b/src/OpenIddict.Server/OpenIddictServerDefaults.cs index 2fe78aef..09e4e675 100644 --- a/src/OpenIddict.Server/OpenIddictServerDefaults.cs +++ b/src/OpenIddict.Server/OpenIddictServerDefaults.cs @@ -1,4 +1,10 @@ -using AspNet.Security.OpenIdConnect.Server; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using AspNet.Security.OpenIdConnect.Server; using Microsoft.AspNetCore.Authentication; namespace OpenIddict.Server diff --git a/src/OpenIddict.Server/OpenIddictServerEvent.cs b/src/OpenIddict.Server/OpenIddictServerEvent.cs index bc6d0b34..73836bdf 100644 --- a/src/OpenIddict.Server/OpenIddictServerEvent.cs +++ b/src/OpenIddict.Server/OpenIddictServerEvent.cs @@ -1,4 +1,10 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using JetBrains.Annotations; namespace OpenIddict.Server diff --git a/src/OpenIddict.Server/OpenIddictServerEventHandler.cs b/src/OpenIddict.Server/OpenIddictServerEventHandler.cs index 727353ec..bc9dd991 100644 --- a/src/OpenIddict.Server/OpenIddictServerEventHandler.cs +++ b/src/OpenIddict.Server/OpenIddictServerEventHandler.cs @@ -1,4 +1,10 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; diff --git a/src/OpenIddict.Server/OpenIddictServerEvents.cs b/src/OpenIddict.Server/OpenIddictServerEvents.cs index d4de707b..6cf70e9a 100644 --- a/src/OpenIddict.Server/OpenIddictServerEvents.cs +++ b/src/OpenIddict.Server/OpenIddictServerEvents.cs @@ -1,4 +1,10 @@ -using AspNet.Security.OpenIdConnect.Server; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using AspNet.Security.OpenIdConnect.Server; using JetBrains.Annotations; namespace OpenIddict.Server diff --git a/src/OpenIddict.Server/OpenIddictServerExtensions.cs b/src/OpenIddict.Server/OpenIddictServerExtensions.cs index fff29084..54528207 100644 --- a/src/OpenIddict.Server/OpenIddictServerExtensions.cs +++ b/src/OpenIddict.Server/OpenIddictServerExtensions.cs @@ -14,6 +14,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using OpenIddict.Abstractions; using OpenIddict.Server; +using OpenIddict.Server.Internal; namespace Microsoft.Extensions.DependencyInjection { @@ -38,18 +39,19 @@ namespace Microsoft.Extensions.DependencyInjection builder.Services.AddMemoryCache(); builder.Services.AddOptions(); - builder.Services.TryAddScoped(); + 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()'.") + .AppendLine("The core services must be registered when enabling the OpenIddict server handler.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString()); return new OpenIddictServerProvider( provider.GetRequiredService>(), - provider.GetRequiredService(), + provider.GetRequiredService(), provider.GetService() ?? throw CreateException(), provider.GetService() ?? throw CreateException(), provider.GetService() ?? throw CreateException(), diff --git a/src/OpenIddict.Server/OpenIddictServerOptions.cs b/src/OpenIddict.Server/OpenIddictServerOptions.cs index e39eed5f..7f1d5a52 100644 --- a/src/OpenIddict.Server/OpenIddictServerOptions.cs +++ b/src/OpenIddict.Server/OpenIddictServerOptions.cs @@ -10,6 +10,7 @@ using System.Security.Cryptography; using AspNet.Security.OpenIdConnect.Primitives; using AspNet.Security.OpenIdConnect.Server; using Microsoft.Extensions.Caching.Distributed; +using OpenIddict.Server.Internal; namespace OpenIddict.Server { diff --git a/src/OpenIddict.Validation/IOpenIddictValidationEvent.cs b/src/OpenIddict.Validation/IOpenIddictValidationEvent.cs index 4e8bc57a..e71d0f8f 100644 --- a/src/OpenIddict.Validation/IOpenIddictValidationEvent.cs +++ b/src/OpenIddict.Validation/IOpenIddictValidationEvent.cs @@ -1,4 +1,10 @@ -namespace OpenIddict.Validation +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +namespace OpenIddict.Validation { /// /// Represents an OpenIddict validation event. diff --git a/src/OpenIddict.Validation/IOpenIddictValidationEventHandler.cs b/src/OpenIddict.Validation/IOpenIddictValidationEventHandler.cs index 6bb304c5..9e60cc1d 100644 --- a/src/OpenIddict.Validation/IOpenIddictValidationEventHandler.cs +++ b/src/OpenIddict.Validation/IOpenIddictValidationEventHandler.cs @@ -1,4 +1,10 @@ -using System.Threading; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; diff --git a/src/OpenIddict.Validation/IOpenIddictValidationEventService.cs b/src/OpenIddict.Validation/IOpenIddictValidationEventService.cs deleted file mode 100644 index 06ea4fd8..00000000 --- a/src/OpenIddict.Validation/IOpenIddictValidationEventService.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using JetBrains.Annotations; - -namespace OpenIddict.Validation -{ - /// - /// Dispatches events by invoking the corresponding handlers. - /// - public interface IOpenIddictValidationEventService - { - /// - /// Publishes a new event. - /// - /// The type of the event to publish. - /// The event to publish. - /// The that can be used to abort the operation. - /// A that can be used to monitor the asynchronous operation. - Task PublishAsync([NotNull] TEvent notification, CancellationToken cancellationToken = default) - where TEvent : class, IOpenIddictValidationEvent; - } -} diff --git a/src/OpenIddict.Validation/OpenIddictValidationEventService.cs b/src/OpenIddict.Validation/Internal/OpenIddictValidationEventService.cs similarity index 81% rename from src/OpenIddict.Validation/OpenIddictValidationEventService.cs rename to src/OpenIddict.Validation/Internal/OpenIddictValidationEventService.cs index 451b8835..07146aee 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationEventService.cs +++ b/src/OpenIddict.Validation/Internal/OpenIddictValidationEventService.cs @@ -1,15 +1,23 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; -namespace OpenIddict.Validation +namespace OpenIddict.Validation.Internal { /// - /// Dispatches notifications by invoking the corresponding handlers. + /// Dispatches events by invoking the corresponding notification handlers. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - public class OpenIddictValidationEventService : IOpenIddictValidationEventService + public class OpenIddictValidationEventService { private readonly IServiceProvider _provider; diff --git a/src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs b/src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs index ed0b0982..df66863f 100644 --- a/src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs +++ b/src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs @@ -4,7 +4,6 @@ * the license and the contributors participating to this project. */ -using System.ComponentModel; using System.Text.Encodings.Web; using AspNet.Security.OAuth.Validation; using JetBrains.Annotations; @@ -12,9 +11,13 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -namespace OpenIddict.Validation +namespace OpenIddict.Validation.Internal { - [EditorBrowsable(EditorBrowsableState.Never)] + /// + /// Provides the logic necessary to extract and validate tokens from HTTP requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. + /// public class OpenIddictValidationHandler : OAuthValidationHandler { public OpenIddictValidationHandler( diff --git a/src/OpenIddict.Validation/Internal/OpenIddictValidationHelpers.cs b/src/OpenIddict.Validation/Internal/OpenIddictValidationHelpers.cs index 65cee419..2078f358 100644 --- a/src/OpenIddict.Validation/Internal/OpenIddictValidationHelpers.cs +++ b/src/OpenIddict.Validation/Internal/OpenIddictValidationHelpers.cs @@ -8,10 +8,12 @@ using System; using JetBrains.Annotations; using Microsoft.AspNetCore.Authentication; -namespace OpenIddict.Validation +namespace OpenIddict.Validation.Internal { /// /// Defines a set of commonly used helpers. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// internal static class OpenIddictValidationHelpers { diff --git a/src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs b/src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs index bedfea03..ee591ebe 100644 --- a/src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs +++ b/src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs @@ -5,20 +5,19 @@ */ using System; -using System.ComponentModel; using System.Text; using JetBrains.Annotations; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.DataProtection; using Microsoft.Extensions.Options; -namespace OpenIddict.Validation +namespace OpenIddict.Validation.Internal { /// - /// Contains the methods required to ensure that the configuration used by - /// the OpenIddict validation handler is in a consistent and valid state. + /// Contains the methods required to ensure that the OpenIddict validation configuration is valid. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - [EditorBrowsable(EditorBrowsableState.Never)] public class OpenIddictValidationInitializer : IPostConfigureOptions { private readonly IDataProtectionProvider _dataProtectionProvider; diff --git a/src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs b/src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs index d3f6571b..05d25989 100644 --- a/src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs +++ b/src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs @@ -5,7 +5,6 @@ */ using System; -using System.ComponentModel; using System.Text; using System.Threading.Tasks; using AspNet.Security.OAuth.Validation; @@ -13,17 +12,18 @@ using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; using OpenIddict.Abstractions; -namespace OpenIddict.Validation +namespace OpenIddict.Validation.Internal { /// - /// Provides the logic necessary to extract, validate and handle OAuth2 requests. + /// Provides the logic necessary to extract and validate tokens from HTTP requests. + /// Note: this API supports the OpenIddict infrastructure and is not intended to be used + /// directly from your code. This API may change or be removed in future minor releases. /// - [EditorBrowsable(EditorBrowsableState.Never)] - public class OpenIddictValidationProvider : OAuthValidationEvents + public sealed class OpenIddictValidationProvider : OAuthValidationEvents { - private readonly IOpenIddictValidationEventService _eventService; + private readonly OpenIddictValidationEventService _eventService; - public OpenIddictValidationProvider([NotNull] IOpenIddictValidationEventService eventService) + public OpenIddictValidationProvider([NotNull] OpenIddictValidationEventService eventService) => _eventService = eventService; public override Task ApplyChallenge([NotNull] ApplyChallengeContext context) @@ -44,7 +44,8 @@ namespace OpenIddict.Validation { throw new InvalidOperationException(new StringBuilder() .AppendLine("The core services must be registered when enabling reference tokens support.") - .Append("To register the OpenIddict core services, use 'services.AddOpenIddict().AddCore()'.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString()); } @@ -117,7 +118,8 @@ namespace OpenIddict.Validation { throw new InvalidOperationException(new StringBuilder() .AppendLine("The core services must be registered when enabling authorization validation.") - .Append("To register the OpenIddict core services, use 'services.AddOpenIddict().AddCore()'.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString()); } diff --git a/src/OpenIddict.Validation/OpenIddictValidationDefaults.cs b/src/OpenIddict.Validation/OpenIddictValidationDefaults.cs index a36ee81d..e72d1d2e 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationDefaults.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationDefaults.cs @@ -1,4 +1,10 @@ -using AspNet.Security.OAuth.Validation; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using AspNet.Security.OAuth.Validation; using Microsoft.AspNetCore.Authentication; namespace OpenIddict.Validation diff --git a/src/OpenIddict.Validation/OpenIddictValidationEvent.cs b/src/OpenIddict.Validation/OpenIddictValidationEvent.cs index ec75eeb6..c942dc56 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationEvent.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationEvent.cs @@ -1,4 +1,10 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using JetBrains.Annotations; namespace OpenIddict.Validation diff --git a/src/OpenIddict.Validation/OpenIddictValidationEventHandler.cs b/src/OpenIddict.Validation/OpenIddictValidationEventHandler.cs index c40704ca..c41f3e39 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationEventHandler.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationEventHandler.cs @@ -1,4 +1,10 @@ -using System; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using System; using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; diff --git a/src/OpenIddict.Validation/OpenIddictValidationEvents.cs b/src/OpenIddict.Validation/OpenIddictValidationEvents.cs index 333bb7bd..82759105 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationEvents.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationEvents.cs @@ -1,4 +1,10 @@ -using AspNet.Security.OAuth.Validation; +/* + * Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) + * See https://github.com/openiddict/openiddict-core for more information concerning + * the license and the contributors participating to this project. + */ + +using AspNet.Security.OAuth.Validation; using JetBrains.Annotations; namespace OpenIddict.Validation diff --git a/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs b/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs index 80d7fc6c..50d2c9dc 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs @@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; using OpenIddict.Validation; +using OpenIddict.Validation.Internal; namespace Microsoft.Extensions.DependencyInjection { @@ -37,7 +38,7 @@ namespace Microsoft.Extensions.DependencyInjection builder.Services.AddLogging(); builder.Services.AddOptions(); - builder.Services.TryAddScoped(); + builder.Services.TryAddScoped(); builder.Services.TryAddScoped(); builder.Services.TryAddScoped(); diff --git a/src/OpenIddict.Validation/OpenIddictValidationOptions.cs b/src/OpenIddict.Validation/OpenIddictValidationOptions.cs index 3b98216b..20a9d1bb 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationOptions.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationOptions.cs @@ -5,6 +5,7 @@ */ using AspNet.Security.OAuth.Validation; +using OpenIddict.Validation.Internal; namespace OpenIddict.Validation { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerInitializerTests.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerInitializerTests.cs index 5f9385f5..fa1d503d 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerInitializerTests.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerInitializerTests.cs @@ -19,7 +19,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public class OpenIddictServerInitializerTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Authentication.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Authentication.cs index 95eb70aa..c18fbe7c 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Authentication.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Authentication.cs @@ -20,7 +20,7 @@ using Newtonsoft.Json.Bson; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs index e24ee95d..16f972e1 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Discovery.cs @@ -11,7 +11,7 @@ using AspNet.Security.OpenIdConnect.Primitives; using Newtonsoft.Json.Linq; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Exchange.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Exchange.cs index da877f77..a5236a18 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Exchange.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Exchange.cs @@ -18,7 +18,7 @@ using Moq; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Introspection.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Introspection.cs index 7d73bc08..d8c94506 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Introspection.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Introspection.cs @@ -16,7 +16,7 @@ using Moq; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Revocation.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Revocation.cs index 38389b65..c39ebda3 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Revocation.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Revocation.cs @@ -19,7 +19,7 @@ using Moq; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Serialization.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Serialization.cs index d8a86654..b76fcd6e 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Serialization.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Serialization.cs @@ -18,7 +18,7 @@ using Moq; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Session.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Session.cs index 13f700fc..9a591b1c 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Session.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Session.cs @@ -17,7 +17,7 @@ using Moq; using OpenIddict.Abstractions; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Userinfo.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Userinfo.cs index b591bd0e..5dcde5df 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Userinfo.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.Userinfo.cs @@ -9,7 +9,7 @@ using AspNet.Security.OpenIdConnect.Client; using AspNet.Security.OpenIdConnect.Primitives; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs index 3654d496..c0de1138 100644 --- a/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs +++ b/test/OpenIddict.Server.Tests/Internal/OpenIddictServerProviderTests.cs @@ -33,7 +33,7 @@ using OpenIddict.Abstractions; using OpenIddict.Core; using Xunit; -namespace OpenIddict.Server.Tests +namespace OpenIddict.Server.Internal.Tests { public partial class OpenIddictServerProviderTests { diff --git a/test/OpenIddict.Server.Tests/OpenIddictServerExtensionsTests.cs b/test/OpenIddict.Server.Tests/OpenIddictServerExtensionsTests.cs index baed90f9..baa4f663 100644 --- a/test/OpenIddict.Server.Tests/OpenIddictServerExtensionsTests.cs +++ b/test/OpenIddict.Server.Tests/OpenIddictServerExtensionsTests.cs @@ -13,6 +13,7 @@ using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using OpenIddict.Server.Internal; using Xunit; namespace OpenIddict.Server.Tests @@ -113,7 +114,7 @@ namespace OpenIddict.Server.Tests // Assert Assert.Contains(services, service => service.Lifetime == ServiceLifetime.Scoped && - service.ServiceType == typeof(IOpenIddictServerEventService) && + service.ServiceType == typeof(OpenIddictServerEventService) && service.ImplementationType == typeof(OpenIddictServerEventService)); } @@ -165,8 +166,9 @@ namespace OpenIddict.Server.Tests var exception = Assert.Throws(() => provider.GetRequiredService()); Assert.Equal(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()'.") + .AppendLine("The core services must be registered when enabling the OpenIddict server handler.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString(), exception.Message); } diff --git a/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationInitializerTests.cs b/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationInitializerTests.cs index 3710fe51..f5b865ff 100644 --- a/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationInitializerTests.cs +++ b/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationInitializerTests.cs @@ -16,7 +16,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Xunit; -namespace OpenIddict.Validation.Tests +namespace OpenIddict.Validation.Internal.Tests { public class OpenIddictValidationInitializerTests { diff --git a/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationProviderTests.cs b/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationProviderTests.cs index db5299d5..b13f0a8b 100644 --- a/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationProviderTests.cs +++ b/test/OpenIddict.Validation.Tests/Internal/OpenIddictValidationProviderTests.cs @@ -33,7 +33,7 @@ using OpenIddict.Abstractions; using OpenIddict.Core; using Xunit; -namespace OpenIddict.Validation.Tests +namespace OpenIddict.Validation.Internal.Tests { public class OpenIddictValidationProviderTests { @@ -59,7 +59,8 @@ namespace OpenIddict.Validation.Tests Assert.Equal(new StringBuilder() .AppendLine("The core services must be registered when enabling reference tokens support.") - .Append("To register the OpenIddict core services, use 'services.AddOpenIddict().AddCore()'.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString(), exception.Message); } @@ -333,7 +334,8 @@ namespace OpenIddict.Validation.Tests Assert.Equal(new StringBuilder() .AppendLine("The core services must be registered when enabling authorization validation.") - .Append("To register the OpenIddict core services, use 'services.AddOpenIddict().AddCore()'.") + .Append("To register the OpenIddict core services, reference the 'OpenIddict.Core' package ") + .Append("and call 'services.AddOpenIddict().AddCore()' from 'ConfigureServices'.") .ToString(), exception.Message); } diff --git a/test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs b/test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs index 7fde8265..677dce72 100644 --- a/test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs +++ b/test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs @@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using OpenIddict.Validation.Internal; using Xunit; namespace OpenIddict.Validation.Tests @@ -96,7 +97,7 @@ namespace OpenIddict.Validation.Tests // Assert Assert.Contains(services, service => service.Lifetime == ServiceLifetime.Scoped && - service.ServiceType == typeof(IOpenIddictValidationEventService) && + service.ServiceType == typeof(OpenIddictValidationEventService) && service.ImplementationType == typeof(OpenIddictValidationEventService)); }