diff --git a/gen/OpenIddict.Client.WebIntegration.Generators/OpenIddictClientWebIntegrationGenerator.cs b/gen/OpenIddict.Client.WebIntegration.Generators/OpenIddictClientWebIntegrationGenerator.cs
index 76becfef..b06148f6 100644
--- a/gen/OpenIddict.Client.WebIntegration.Generators/OpenIddictClientWebIntegrationGenerator.cs
+++ b/gen/OpenIddict.Client.WebIntegration.Generators/OpenIddictClientWebIntegrationGenerator.cs
@@ -8,7 +8,7 @@ using Scriban;
namespace OpenIddict.Client.WebIntegration.Generators
{
[Generator]
- public class OpenIddictClientWebIntegrationGenerator : ISourceGenerator
+ public sealed class OpenIddictClientWebIntegrationGenerator : ISourceGenerator
{
public void Execute(GeneratorExecutionContext context)
{
@@ -58,7 +58,7 @@ using static OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationCons
namespace Microsoft.Extensions.DependencyInjection;
-public partial class OpenIddictClientWebIntegrationBuilder
+public sealed partial class OpenIddictClientWebIntegrationBuilder
{
{{~ for provider in providers ~}}
///
@@ -109,7 +109,7 @@ public partial class OpenIddictClientWebIntegrationBuilder
///
/// Exposes the necessary methods required to configure the {{ provider.name }} integration.
///
- public partial class {{ provider.name }}
+ public sealed partial class {{ provider.name }}
{
///
/// Initializes a new instance of .
@@ -433,14 +433,14 @@ using static OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationCons
namespace OpenIddict.Client.WebIntegration;
-public partial class OpenIddictClientWebIntegrationConfiguration
+public sealed partial class OpenIddictClientWebIntegrationConfiguration
{
{{~ for provider in providers ~}}
///
/// Contains the methods required to register the {{ provider.name }} integration in the OpenIddict client options.
///
- public class {{ provider.name }} : IConfigureOptions,
- IPostConfigureOptions
+ public sealed class {{ provider.name }} : IConfigureOptions,
+ IPostConfigureOptions
{
private readonly IServiceProvider _provider;
@@ -783,7 +783,7 @@ using static OpenIddict.Client.WebIntegration.OpenIddictClientWebIntegrationCons
namespace OpenIddict.Client.WebIntegration;
-public partial class OpenIddictClientWebIntegrationHelpers
+public static partial class OpenIddictClientWebIntegrationHelpers
{
{{~ for provider in providers ~}}
///
@@ -815,13 +815,13 @@ using Microsoft.IdentityModel.Tokens;
namespace OpenIddict.Client.WebIntegration;
-public partial class OpenIddictClientWebIntegrationOptions
+public sealed partial class OpenIddictClientWebIntegrationOptions
{
{{~ for provider in providers ~}}
///
/// Provides various options needed to configure the {{ provider.name }} integration.
///
- public class {{ provider.name }}
+ public sealed class {{ provider.name }}
{
///
/// Gets or sets the client identifier.
diff --git a/src/OpenIddict.Abstractions/OpenIddictBuilder.cs b/src/OpenIddict.Abstractions/OpenIddictBuilder.cs
index 2cb4ec12..09df8777 100644
--- a/src/OpenIddict.Abstractions/OpenIddictBuilder.cs
+++ b/src/OpenIddict.Abstractions/OpenIddictBuilder.cs
@@ -11,7 +11,7 @@ namespace Microsoft.Extensions.DependencyInjection;
///
/// Provides a shared entry point allowing to configure the OpenIddict services.
///
-public class OpenIddictBuilder
+public sealed class OpenIddictBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Abstractions/OpenIddictExceptions.cs b/src/OpenIddict.Abstractions/OpenIddictExceptions.cs
index 82731b5f..7b0410e2 100644
--- a/src/OpenIddict.Abstractions/OpenIddictExceptions.cs
+++ b/src/OpenIddict.Abstractions/OpenIddictExceptions.cs
@@ -11,7 +11,7 @@ public static class OpenIddictExceptions
///
/// Represents an OpenIddict concurrency exception.
///
- public class ConcurrencyException : Exception
+ public sealed class ConcurrencyException : Exception
{
///
/// Creates a new .
@@ -36,7 +36,7 @@ public static class OpenIddictExceptions
///
/// Represents an OpenIddict protocol exception.
///
- public class ProtocolException : Exception
+ public sealed class ProtocolException : Exception
{
///
/// Creates a new .
@@ -102,7 +102,7 @@ public static class OpenIddictExceptions
///
/// Represents an OpenIddict validation exception.
///
- public class ValidationException : Exception
+ public sealed class ValidationException : Exception
{
///
/// Creates a new .
diff --git a/src/OpenIddict.Abstractions/Primitives/OpenIddictConfiguration.cs b/src/OpenIddict.Abstractions/Primitives/OpenIddictConfiguration.cs
index 2f2a446c..27213d07 100644
--- a/src/OpenIddict.Abstractions/Primitives/OpenIddictConfiguration.cs
+++ b/src/OpenIddict.Abstractions/Primitives/OpenIddictConfiguration.cs
@@ -14,7 +14,7 @@ namespace OpenIddict.Abstractions;
///
/// Note: depending on the stack used to produce this instance, only a few select properties may be available.
///
-public class OpenIddictConfiguration
+public sealed class OpenIddictConfiguration
{
///
/// Gets or sets the address of the authorization endpoint.
@@ -66,6 +66,11 @@ public class OpenIddictConfiguration
///
public Uri? JwksUri { get; set; }
+ ///
+ /// Gets the additional properties.
+ ///
+ public Dictionary Properties { get; } = new(StringComparer.Ordinal);
+
///
/// Gets the response mode supported by the server.
///
diff --git a/src/OpenIddict.Abstractions/Primitives/OpenIddictConverter.cs b/src/OpenIddict.Abstractions/Primitives/OpenIddictConverter.cs
index 8c262337..10326d2b 100644
--- a/src/OpenIddict.Abstractions/Primitives/OpenIddictConverter.cs
+++ b/src/OpenIddict.Abstractions/Primitives/OpenIddictConverter.cs
@@ -12,7 +12,7 @@ namespace OpenIddict.Abstractions;
///
/// Represents a JSON converter able to convert OpenIddict primitives.
///
-public class OpenIddictConverter : JsonConverter
+public sealed class OpenIddictConverter : JsonConverter
{
///
/// Determines whether the specified type is supported by this converter.
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs
index 565cb36a..27647d5a 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs
@@ -14,7 +14,7 @@ namespace Microsoft.Extensions.DependencyInjection;
/// Exposes the necessary methods required to configure
/// the OpenIddict client ASP.NET Core integration.
///
-public class OpenIddictClientAspNetCoreBuilder
+public sealed class OpenIddictClientAspNetCoreBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreConfiguration.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreConfiguration.cs
index 150dd22c..ecaec5f0 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreConfiguration.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreConfiguration.cs
@@ -11,9 +11,9 @@ namespace OpenIddict.Client.AspNetCore;
///
/// Contains the methods required to ensure that the OpenIddict client configuration is valid.
///
-public class OpenIddictClientAspNetCoreConfiguration : IConfigureOptions,
- IConfigureOptions,
- IPostConfigureOptions
+public sealed class OpenIddictClientAspNetCoreConfiguration : IConfigureOptions,
+ IConfigureOptions,
+ IPostConfigureOptions
{
///
/// Registers the OpenIddict client handler in the global authentication options.
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreFeature.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreFeature.cs
index 28875f65..d43b465b 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreFeature.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreFeature.cs
@@ -9,7 +9,7 @@ namespace OpenIddict.Client.AspNetCore;
///
/// Exposes the current client transaction to the ASP.NET Core host.
///
-public class OpenIddictClientAspNetCoreFeature
+public sealed class OpenIddictClientAspNetCoreFeature
{
///
/// Gets or sets the client transaction that encapsulates all specific
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
index 0a243351..35d0f5b6 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandler.cs
@@ -18,7 +18,7 @@ namespace OpenIddict.Client.AspNetCore;
///
/// Provides the logic necessary to extract, validate and handle OpenID Connect requests.
///
-public class OpenIddictClientAspNetCoreHandler : AuthenticationHandler,
+public sealed class OpenIddictClientAspNetCoreHandler : AuthenticationHandler,
IAuthenticationRequestHandler,
IAuthenticationSignOutHandler
{
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlerFilters.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlerFilters.cs
index 6e374d25..cbc95cab 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlerFilters.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlerFilters.cs
@@ -19,7 +19,7 @@ public static class OpenIddictClientAspNetCoreHandlerFilters
///
/// Represents a filter that excludes the associated handlers if error pass-through was not enabled.
///
- public class RequireErrorPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireErrorPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -40,7 +40,7 @@ public static class OpenIddictClientAspNetCoreHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no ASP.NET Core request can be found.
///
- public class RequireHttpRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequireHttpRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseContext context)
{
@@ -57,7 +57,7 @@ public static class OpenIddictClientAspNetCoreHandlerFilters
/// Represents a filter that excludes the associated handlers if the
/// pass-through mode was not enabled for the post-logout redirection endpoint.
///
- public class RequirePostLogoutRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequirePostLogoutRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -79,7 +79,7 @@ public static class OpenIddictClientAspNetCoreHandlerFilters
/// Represents a filter that excludes the associated handlers if the
/// pass-through mode was not enabled for the redirection endpoint.
///
- public class RequireRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -100,7 +100,7 @@ public static class OpenIddictClientAspNetCoreHandlerFilters
///
/// Represents a filter that excludes the associated handlers if status code pages support was not enabled.
///
- public class RequireStatusCodePagesIntegrationEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireStatusCodePagesIntegrationEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Authentication.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Authentication.cs
index 19486616..350cd77e 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Authentication.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Authentication.cs
@@ -43,7 +43,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for processing authorization requests using 302 redirects.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessQueryRequest : IOpenIddictClientHandler
+ public sealed class ProcessQueryRequest : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Session.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Session.cs
index d8f7dc1e..fad91386 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Session.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.Session.cs
@@ -43,7 +43,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for processing authorization requests using 302 redirects.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessQueryRequest : IOpenIddictClientHandler
+ public sealed class ProcessQueryRequest : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.cs
index e412ac54..ef51615e 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreHandlers.cs
@@ -59,7 +59,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for inferring the endpoint type from the request address.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class InferEndpointType : IOpenIddictClientHandler
+ public sealed class InferEndpointType : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -148,7 +148,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for extracting OpenID Connect requests from GET or POST HTTP requests.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ExtractGetOrPostRequest : IOpenIddictClientHandler where TContext : BaseValidatingContext
+ public sealed class ExtractGetOrPostRequest : IOpenIddictClientHandler where TContext : BaseValidatingContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -228,7 +228,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for resolving the request forgery protection from the correlation cookie.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ResolveRequestForgeryProtection : IOpenIddictClientHandler
+ public sealed class ResolveRequestForgeryProtection : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -351,7 +351,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for comparing the current request URL to the expected URL stored in the state token.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ValidateEndpointUri : IOpenIddictClientHandler
+ public sealed class ValidateEndpointUri : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -456,7 +456,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// ASP.NET Core authentication properties specified by the application that triggered the challenge operation.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ResolveHostChallengeProperties : IOpenIddictClientHandler
+ public sealed class ResolveHostChallengeProperties : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -556,7 +556,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// protection against state token injection, forged requests and session fixation attacks.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class GenerateLoginCorrelationCookie : IOpenIddictClientHandler
+ public sealed class GenerateLoginCorrelationCookie : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -649,7 +649,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// ASP.NET Core authentication properties specified by the application that triggered the sign-out operation.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ResolveHostSignOutProperties : IOpenIddictClientHandler
+ public sealed class ResolveHostSignOutProperties : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -749,7 +749,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// protection against state token injection, forged requests and denial of service attacks.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class GenerateLogoutCorrelationCookie : IOpenIddictClientHandler
+ public sealed class GenerateLogoutCorrelationCookie : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -840,7 +840,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for enabling the pass-through mode for the received request.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class EnablePassthroughMode : IOpenIddictClientHandler
+ public sealed class EnablePassthroughMode : IOpenIddictClientHandler
where TContext : BaseRequestContext
where TFilter : IOpenIddictClientHandlerFilter
{
@@ -874,7 +874,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for attaching an appropriate HTTP status code.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class AttachHttpResponseCode : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class AttachHttpResponseCode : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -917,7 +917,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for attaching the appropriate HTTP response cache headers.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class AttachCacheControlHeader : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class AttachCacheControlHeader : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -957,7 +957,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// middleware in the pipeline at a later stage (e.g an ASP.NET Core MVC action or a NancyFX module).
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessPassthroughErrorResponse : IOpenIddictClientHandler
+ public sealed class ProcessPassthroughErrorResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
where TFilter : IOpenIddictClientHandlerFilter
{
@@ -999,7 +999,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for processing OpenID Connect responses handled by the status code pages middleware.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessStatusCodePagesErrorResponse : IOpenIddictClientHandler
+ public sealed class ProcessStatusCodePagesErrorResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
{
///
@@ -1056,7 +1056,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for processing context responses that must be returned as plain-text.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessLocalErrorResponse : IOpenIddictClientHandler
+ public sealed class ProcessLocalErrorResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
{
///
@@ -1130,7 +1130,7 @@ public static partial class OpenIddictClientAspNetCoreHandlers
/// Contains the logic responsible for processing OpenID Connect responses that don't specify any parameter.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by ASP.NET Core.
///
- public class ProcessEmptyResponse : IOpenIddictClientHandler
+ public sealed class ProcessEmptyResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
{
///
diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreOptions.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreOptions.cs
index d84fcb13..1abd5033 100644
--- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreOptions.cs
+++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreOptions.cs
@@ -11,7 +11,7 @@ namespace OpenIddict.Client.AspNetCore;
///
/// Provides various settings needed to configure the OpenIddict ASP.NET Core client integration.
///
-public class OpenIddictClientAspNetCoreOptions : AuthenticationSchemeOptions
+public sealed class OpenIddictClientAspNetCoreOptions : AuthenticationSchemeOptions
{
///
/// Gets or sets a boolean indicating whether the pass-through mode is enabled for the post-logout redirection endpoint.
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs
index 4e780449..f4002367 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs
@@ -14,7 +14,7 @@ namespace Microsoft.Extensions.DependencyInjection;
/// Exposes the necessary methods required to configure the
/// OpenIddict ASP.NET Core Data Protection integration.
///
-public class OpenIddictClientDataProtectionBuilder
+public sealed class OpenIddictClientDataProtectionBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionConfiguration.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionConfiguration.cs
index 75b4b2ac..f94f084b 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionConfiguration.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionConfiguration.cs
@@ -12,8 +12,8 @@ namespace OpenIddict.Client.DataProtection;
///
/// Contains the methods required to ensure that the OpenIddict ASP.NET Core Data Protection configuration is valid.
///
-public class OpenIddictClientDataProtectionConfiguration : IConfigureOptions,
- IPostConfigureOptions
+public sealed class OpenIddictClientDataProtectionConfiguration : IConfigureOptions,
+ IPostConfigureOptions
{
private readonly IDataProtectionProvider _dataProtectionProvider;
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionFormatter.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionFormatter.cs
index ee20518e..82bdeba7 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionFormatter.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionFormatter.cs
@@ -13,7 +13,7 @@ using Properties = OpenIddict.Client.DataProtection.OpenIddictClientDataProtecti
namespace OpenIddict.Client.DataProtection;
-public class OpenIddictClientDataProtectionFormatter : IOpenIddictClientDataProtectionFormatter
+public sealed class OpenIddictClientDataProtectionFormatter : IOpenIddictClientDataProtectionFormatter
{
public ClaimsPrincipal ReadToken(BinaryReader reader)
{
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlerFilters.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlerFilters.cs
index 0fe81630..63b4331b 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlerFilters.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlerFilters.cs
@@ -15,7 +15,7 @@ public static class OpenIddictClientDataProtectionHandlerFilters
/// Represents a filter that excludes the associated handlers if
/// the selected token format is not ASP.NET Core Data Protection.
///
- public class RequireDataProtectionTokenFormat : IOpenIddictClientHandlerFilter
+ public sealed class RequireDataProtectionTokenFormat : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(GenerateTokenContext context)
{
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlers.Protection.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlers.Protection.cs
index f15018ed..629661a6 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlers.Protection.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionHandlers.Protection.cs
@@ -35,7 +35,7 @@ public static partial class OpenIddictClientDataProtectionHandlers
///
/// Contains the logic responsible for validating tokens generated using Data Protection.
///
- public class ValidateDataProtectionToken : IOpenIddictClientHandler
+ public sealed class ValidateDataProtectionToken : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -138,7 +138,7 @@ public static partial class OpenIddictClientDataProtectionHandlers
/// Contains the logic responsible for overriding the default token format
/// to generate ASP.NET Core Data Protection tokens instead of JSON Web Tokens.
///
- public class OverrideGeneratedTokenFormat : IOpenIddictClientHandler
+ public sealed class OverrideGeneratedTokenFormat : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -184,7 +184,7 @@ public static partial class OpenIddictClientDataProtectionHandlers
///
/// Contains the logic responsible for generating a token using Data Protection.
///
- public class GenerateDataProtectionToken : IOpenIddictClientHandler
+ public sealed class GenerateDataProtectionToken : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionOptions.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionOptions.cs
index be1f9e9c..028b2d99 100644
--- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionOptions.cs
+++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionOptions.cs
@@ -12,7 +12,7 @@ namespace OpenIddict.Client.DataProtection;
/// Provides various settings needed to configure the OpenIddict
/// ASP.NET Core Data Protection server integration.
///
-public class OpenIddictClientDataProtectionOptions
+public sealed class OpenIddictClientDataProtectionOptions
{
///
/// Gets or sets the data protection provider used to create the default
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs
index ba965f68..a865a059 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs
@@ -14,7 +14,7 @@ namespace Microsoft.Extensions.DependencyInjection;
/// Exposes the necessary methods required to configure
/// the OpenIddict client OWIN/Katana integration.
///
-public class OpenIddictClientOwinBuilder
+public sealed class OpenIddictClientOwinBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinConfiguration.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinConfiguration.cs
index 33a157e9..f6ab294a 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinConfiguration.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinConfiguration.cs
@@ -11,8 +11,8 @@ namespace OpenIddict.Client.Owin;
///
/// Contains the methods required to ensure that the OpenIddict client configuration is valid.
///
-public class OpenIddictClientOwinConfiguration : IConfigureOptions,
- IPostConfigureOptions
+public sealed class OpenIddictClientOwinConfiguration : IConfigureOptions,
+ IPostConfigureOptions
{
public void Configure(OpenIddictClientOptions options)
{
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandler.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandler.cs
index 63bb2c15..bdf42ca3 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandler.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandler.cs
@@ -16,7 +16,7 @@ namespace OpenIddict.Client.Owin;
///
/// Provides the entry point necessary to register the OpenIddict client in an OWIN pipeline.
///
-public class OpenIddictClientOwinHandler : AuthenticationHandler
+public sealed class OpenIddictClientOwinHandler : AuthenticationHandler
{
private readonly IOpenIddictClientDispatcher _dispatcher;
private readonly IOpenIddictClientFactory _factory;
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlerFilters.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlerFilters.cs
index 151c5792..8c461f45 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlerFilters.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlerFilters.cs
@@ -20,7 +20,7 @@ public static class OpenIddictClientOwinHandlerFilters
/// Represents a filter that excludes the associated handlers if the
/// pass-through mode was not enabled for the post-logout redirection endpoint.
///
- public class RequirePostLogoutRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequirePostLogoutRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -42,7 +42,7 @@ public static class OpenIddictClientOwinHandlerFilters
/// Represents a filter that excludes the associated handlers if the
/// pass-through mode was not enabled for the redirection endpoint.
///
- public class RequireRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireRedirectionEndpointPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -63,7 +63,7 @@ public static class OpenIddictClientOwinHandlerFilters
///
/// Represents a filter that excludes the associated handlers if error pass-through was not enabled.
///
- public class RequireErrorPassthroughEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireErrorPassthroughEnabled : IOpenIddictClientHandlerFilter
{
private readonly IOptionsMonitor _options;
@@ -84,7 +84,7 @@ public static class OpenIddictClientOwinHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no OWIN request can be found.
///
- public class RequireOwinRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequireOwinRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseContext context)
{
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Authentication.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Authentication.cs
index 8041557a..a4549e0c 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Authentication.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Authentication.cs
@@ -43,7 +43,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for processing authorization requests using 302 redirects.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ProcessQueryRequest : IOpenIddictClientHandler
+ public sealed class ProcessQueryRequest : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Session.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Session.cs
index f34c60a7..f9bbc900 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Session.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.Session.cs
@@ -41,7 +41,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for processing authorization requests using 302 redirects.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ProcessQueryRequest : IOpenIddictClientHandler
+ public sealed class ProcessQueryRequest : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.cs
index f5d8e5cc..ae8aab0e 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHandlers.cs
@@ -55,7 +55,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for inferring the endpoint type from the request address.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class InferEndpointType : IOpenIddictClientHandler
+ public sealed class InferEndpointType : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -147,7 +147,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for extracting OpenID Connect requests from GET or POST HTTP requests.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ExtractGetOrPostRequest : IOpenIddictClientHandler where TContext : BaseValidatingContext
+ public sealed class ExtractGetOrPostRequest : IOpenIddictClientHandler where TContext : BaseValidatingContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -227,7 +227,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for resolving the request forgery protection from the correlation cookie.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ResolveRequestForgeryProtection : IOpenIddictClientHandler
+ public sealed class ResolveRequestForgeryProtection : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -359,7 +359,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for comparing the current request URL to the expected URL stored in the state token.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ValidateEndpointUri : IOpenIddictClientHandler
+ public sealed class ValidateEndpointUri : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -467,7 +467,7 @@ public static partial class OpenIddictClientOwinHandlers
/// OWIN authentication properties specified by the application that triggered the challenge operation.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ResolveHostChallengeProperties : IOpenIddictClientHandler
+ public sealed class ResolveHostChallengeProperties : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -585,7 +585,7 @@ public static partial class OpenIddictClientOwinHandlers
/// protection against state token injection, forged requests and session fixation attacks.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class GenerateLoginCorrelationCookie : IOpenIddictClientHandler
+ public sealed class GenerateLoginCorrelationCookie : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -686,7 +686,7 @@ public static partial class OpenIddictClientOwinHandlers
/// OWIN authentication properties specified by the application that triggered the sign-out operation.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ResolveHostSignOutProperties : IOpenIddictClientHandler
+ public sealed class ResolveHostSignOutProperties : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -804,7 +804,7 @@ public static partial class OpenIddictClientOwinHandlers
/// protection against state token injection, forged requests and denial of service attacks.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class GenerateLogoutCorrelationCookie : IOpenIddictClientHandler
+ public sealed class GenerateLogoutCorrelationCookie : IOpenIddictClientHandler
{
private readonly IOptionsMonitor _options;
@@ -903,7 +903,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for enabling the pass-through mode for the received request.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class EnablePassthroughMode : IOpenIddictClientHandler
+ public sealed class EnablePassthroughMode : IOpenIddictClientHandler
where TContext : BaseRequestContext
where TFilter : IOpenIddictClientHandlerFilter
{
@@ -937,7 +937,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for attaching an appropriate HTTP status code.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class AttachHttpResponseCode : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class AttachHttpResponseCode : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -980,7 +980,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for attaching an OWIN response chalenge to the context, if necessary.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class AttachOwinResponseChallenge : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class AttachOwinResponseChallenge : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -1032,7 +1032,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for suppressing the redirection applied by FormsAuthenticationModule, if necessary.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class SuppressFormsAuthenticationRedirect : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class SuppressFormsAuthenticationRedirect : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -1099,7 +1099,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for attaching the appropriate HTTP response cache headers.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class AttachCacheControlHeader : IOpenIddictClientHandler where TContext : BaseRequestContext
+ public sealed class AttachCacheControlHeader : IOpenIddictClientHandler where TContext : BaseRequestContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -1139,7 +1139,7 @@ public static partial class OpenIddictClientOwinHandlers
/// middleware in the pipeline at a later stage (e.g an ASP.NET MVC action or a NancyFX module).
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ProcessPassthroughErrorResponse : IOpenIddictClientHandler
+ public sealed class ProcessPassthroughErrorResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
where TFilter : IOpenIddictClientHandlerFilter
{
@@ -1181,7 +1181,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for processing context responses that must be returned as plain-text.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ProcessLocalErrorResponse : IOpenIddictClientHandler
+ public sealed class ProcessLocalErrorResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
{
///
@@ -1255,7 +1255,7 @@ public static partial class OpenIddictClientOwinHandlers
/// Contains the logic responsible for processing OpenID Connect responses that don't specify any parameter.
/// Note: this handler is not used when the OpenID Connect request is not initially handled by OWIN.
///
- public class ProcessEmptyResponse : IOpenIddictClientHandler
+ public sealed class ProcessEmptyResponse : IOpenIddictClientHandler
where TContext : BaseRequestContext
{
///
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddleware.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddleware.cs
index b7fa3690..c45e740d 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddleware.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddleware.cs
@@ -15,7 +15,7 @@ namespace OpenIddict.Client.Owin;
/// that support middleware resolution, like Autofac. Since it depends on scoped services,
/// it is NOT recommended to instantiate it as a singleton like a regular OWIN middleware.
///
-public class OpenIddictClientOwinMiddleware : AuthenticationMiddleware
+public sealed class OpenIddictClientOwinMiddleware : AuthenticationMiddleware
{
private readonly IOpenIddictClientDispatcher _dispatcher;
private readonly IOpenIddictClientFactory _factory;
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddlewareFactory.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddlewareFactory.cs
index 27a10e25..34d01cad 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddlewareFactory.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinMiddlewareFactory.cs
@@ -13,7 +13,7 @@ namespace OpenIddict.Client.Owin;
/// Provides the entry point necessary to instantiate and register the scoped
/// in an OWIN/Katana pipeline.
///
-public class OpenIddictClientOwinMiddlewareFactory : OwinMiddleware
+public sealed class OpenIddictClientOwinMiddlewareFactory : OwinMiddleware
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinOptions.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinOptions.cs
index 902f9eb5..e18380f5 100644
--- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinOptions.cs
+++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinOptions.cs
@@ -11,7 +11,7 @@ namespace OpenIddict.Client.Owin;
///
/// Provides various settings needed to configure the OpenIddict OWIN client integration.
///
-public class OpenIddictClientOwinOptions : AuthenticationOptions
+public sealed class OpenIddictClientOwinOptions : AuthenticationOptions
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs
index 16e3afe4..3624017c 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs
@@ -15,7 +15,7 @@ namespace Microsoft.Extensions.DependencyInjection;
///
/// Exposes the necessary methods required to configure the OpenIddict client/System.Net.Http integration.
///
-public class OpenIddictClientSystemNetHttpBuilder
+public sealed class OpenIddictClientSystemNetHttpBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpConfiguration.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpConfiguration.cs
index 6a708f5f..ae987918 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpConfiguration.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpConfiguration.cs
@@ -13,8 +13,8 @@ namespace OpenIddict.Client.SystemNetHttp;
///
/// Contains the methods required to ensure that the OpenIddict client/System.Net.Http integration configuration is valid.
///
-public class OpenIddictClientSystemNetHttpConfiguration : IConfigureOptions,
- IConfigureNamedOptions
+public sealed class OpenIddictClientSystemNetHttpConfiguration : IConfigureOptions,
+ IConfigureNamedOptions
{
#if !SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER
private readonly IServiceProvider _provider;
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlerFilters.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlerFilters.cs
index 3e4e9a23..08a9c826 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlerFilters.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlerFilters.cs
@@ -14,7 +14,7 @@ public static class OpenIddictClientSystemNetHttpHandlerFilters
///
/// Represents a filter that excludes the associated handlers if the metadata address of the issuer is not available.
///
- public class RequireHttpMetadataAddress : IOpenIddictClientHandlerFilter
+ public sealed class RequireHttpMetadataAddress : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseExternalContext context)
{
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Exchange.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Exchange.cs
index b973fb7b..178e3e30 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Exchange.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Exchange.cs
@@ -39,7 +39,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for attaching the client credentials to the HTTP Authorization header.
///
- public class AttachBasicAuthenticationCredentials : IOpenIddictClientHandler
+ public sealed class AttachBasicAuthenticationCredentials : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Userinfo.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Userinfo.cs
index f322e053..199bd82a 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Userinfo.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.Userinfo.cs
@@ -40,7 +40,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for attaching the access token to the HTTP Authorization header.
///
- public class AttachBearerAccessToken : IOpenIddictClientHandler
+ public sealed class AttachBearerAccessToken : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -81,7 +81,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for extracting the response from the userinfo response.
///
- public class ExtractUserinfoTokenHttpResponse : IOpenIddictClientHandler
+ public sealed class ExtractUserinfoTokenHttpResponse : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.cs
index 2cd7631d..834133fb 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpHandlers.cs
@@ -30,7 +30,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for preparing an HTTP GET request message.
///
- public class PrepareGetHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class PrepareGetHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -62,7 +62,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for preparing an HTTP POST request message.
///
- public class PreparePostHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class PreparePostHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -95,7 +95,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
/// Contains the logic responsible for attaching the appropriate HTTP
/// Accept-* headers to the HTTP request message to receive JSON responses.
///
- public class AttachJsonAcceptHeaders : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class AttachJsonAcceptHeaders : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -135,7 +135,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for attaching the user agent to the HTTP request.
///
- public class AttachUserAgentHeader : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class AttachUserAgentHeader : IOpenIddictClientHandler where TContext : BaseExternalContext
{
private readonly IOptionsMonitor _options;
@@ -189,7 +189,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for attaching the query string parameters to the HTTP request.
///
- public class AttachQueryStringParameters : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class AttachQueryStringParameters : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -234,7 +234,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for attaching the form parameters to the HTTP request.
///
- public class AttachFormParameters : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class AttachFormParameters : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -276,7 +276,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for sending the HTTP request to the remote server.
///
- public class SendHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class SendHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
{
private readonly IHttpClientFactory _factory;
@@ -354,7 +354,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for disposing of the HTTP request message.
///
- public class DisposeHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class DisposeHttpRequest : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -392,7 +392,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for decompressing the returned HTTP content.
///
- public class DecompressResponseContent : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class DecompressResponseContent : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -531,7 +531,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for extracting the response from the JSON-encoded HTTP body.
///
- public class ExtractJsonHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class ExtractJsonHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -599,7 +599,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for extracting errors from WWW-Authenticate headers.
///
- public class ExtractWwwAuthenticateHeader : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class ExtractWwwAuthenticateHeader : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -682,7 +682,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for extracting errors from WWW-Authenticate headers.
///
- public class ValidateHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class ValidateHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -752,7 +752,7 @@ public static partial class OpenIddictClientSystemNetHttpHandlers
///
/// Contains the logic responsible for disposing of the HTTP response message.
///
- public class DisposeHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
+ public sealed class DisposeHttpResponse : IOpenIddictClientHandler where TContext : BaseExternalContext
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpOptions.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpOptions.cs
index 10338513..2a77ee30 100644
--- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpOptions.cs
+++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpOptions.cs
@@ -14,7 +14,7 @@ namespace OpenIddict.Client.SystemNetHttp;
///
/// Provides various settings needed to configure the OpenIddict client/System.Net.Http integration.
///
-public class OpenIddictClientSystemNetHttpOptions
+public sealed class OpenIddictClientSystemNetHttpOptions
{
///
/// Gets or sets the HTTP Polly error policy used by the internal OpenIddict HTTP clients.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs
index 83772560..a134e619 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs
@@ -6,11 +6,11 @@
using System.ComponentModel;
using OpenIddict.Client.WebIntegration;
-using OpenIddict.Extensions;
#if SUPPORTS_PEM_ENCODED_KEY_IMPORT
using System.Security.Cryptography;
using Microsoft.IdentityModel.Tokens;
+using OpenIddict.Extensions;
#endif
namespace Microsoft.Extensions.DependencyInjection;
@@ -18,7 +18,7 @@ namespace Microsoft.Extensions.DependencyInjection;
///
/// Exposes the necessary methods required to configure the OpenIddict client services.
///
-public partial class OpenIddictClientWebIntegrationBuilder
+public sealed partial class OpenIddictClientWebIntegrationBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationConfiguration.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationConfiguration.cs
index 8ba83c55..2bcd7c98 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationConfiguration.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationConfiguration.cs
@@ -11,7 +11,7 @@ namespace OpenIddict.Client.WebIntegration;
///
/// Contains the methods required to ensure that the OpenIddict client Web integration configuration is valid.
///
-public partial class OpenIddictClientWebIntegrationConfiguration : IConfigureOptions
+public sealed partial class OpenIddictClientWebIntegrationConfiguration : IConfigureOptions
{
///
/// Populates the default OpenIddict client Web integration options
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs
index 3995bc7e..de286382 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Discovery.cs
@@ -26,7 +26,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
///
/// Contains the logic responsible for amending the issuer for the providers that require it.
///
- public class AmendIssuer : IOpenIddictClientHandler
+ public sealed class AmendIssuer : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -67,7 +67,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for amending the supported
/// client authentication methods for the providers that require it.
///
- public class AmendClientAuthenticationMethods : IOpenIddictClientHandler
+ public sealed class AmendClientAuthenticationMethods : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -108,7 +108,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for amending the supported
/// code challenge methods for the providers that require it.
///
- public class AmendCodeChallengeMethods : IOpenIddictClientHandler
+ public sealed class AmendCodeChallengeMethods : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -145,7 +145,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
///
/// Contains the logic responsible for amending the endpoint URIs for the providers that require it.
///
- public class AmendEndpoints : IOpenIddictClientHandler
+ public sealed class AmendEndpoints : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Exchange.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Exchange.cs
index 62f49568..1261276a 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Exchange.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Exchange.cs
@@ -31,7 +31,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching non-standard query string
/// parameters to the token request for the providers that require it.
///
- public class AttachNonStandardQueryStringParameters : IOpenIddictClientHandler
+ public sealed class AttachNonStandardQueryStringParameters : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -79,7 +79,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching non-standard query string
/// parameters to the token request for the providers that require it.
///
- public class MapNonStandardResponseParameters : IOpenIddictClientHandler
+ public sealed class MapNonStandardResponseParameters : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Protection.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Protection.cs
index 6c3f348b..de56bac5 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Protection.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Protection.cs
@@ -23,7 +23,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
///
/// Contains the logic responsible for amending the token validation parameters for the providers that require it.
///
- public class AmendTokenValidationParameters : IOpenIddictClientHandler
+ public sealed class AmendTokenValidationParameters : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs
index 93df7ac1..7349d8e7 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.Userinfo.cs
@@ -32,7 +32,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching the access token
/// parameter to the request for the providers that require it.
///
- public class AttachAccessTokenParameter : IOpenIddictClientHandler
+ public sealed class AttachAccessTokenParameter : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -76,7 +76,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for extracting the userinfo response
/// from nested JSON nodes (e.g "data") for the providers that require it.
///
- public class UnwrapUserinfoResponse : IOpenIddictClientHandler
+ public sealed class UnwrapUserinfoResponse : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs
index b24e14d5..205cd171 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationHandlers.cs
@@ -42,7 +42,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for handling non-standard
/// authorization errors for the providers that require it.
///
- public class HandleNonStandardFrontchannelErrorResponse : IOpenIddictClientHandler
+ public sealed class HandleNonStandardFrontchannelErrorResponse : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -110,7 +110,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for amending the client
/// assertion methods for the providers that require it.
///
- public class AttachNonStandardClientAssertionTokenClaims : IOpenIddictClientHandler
+ public sealed class AttachNonStandardClientAssertionTokenClaims : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -154,7 +154,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching custom client credentials
/// parameters to the token request for the providers that require it.
///
- public class AttachTokenRequestNonStandardClientCredentials : IOpenIddictClientHandler
+ public sealed class AttachTokenRequestNonStandardClientCredentials : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -199,7 +199,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching custom client credentials
/// parameters to the token request for the providers that require it.
///
- public class AdjustRedirectUriInTokenRequest : IOpenIddictClientHandler
+ public sealed class AdjustRedirectUriInTokenRequest : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -254,7 +254,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for overriding the set
/// of required tokens for the providers that require it.
///
- public class OverrideValidatedBackchannelTokens : IOpenIddictClientHandler
+ public sealed class OverrideValidatedBackchannelTokens : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -295,7 +295,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for attaching additional parameters
/// to the userinfo request for the providers that require it.
///
- public class AttachAdditionalUserinfoRequestParameters : IOpenIddictClientHandler
+ public sealed class AttachAdditionalUserinfoRequestParameters : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -357,7 +357,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
///
/// Contains the logic responsible for overriding response mode for providers that require it.
///
- public class OverrideResponseMode : IOpenIddictClientHandler
+ public sealed class OverrideResponseMode : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -397,7 +397,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for overriding the standard "scope"
/// parameter for providers that are known to use a non-standard format.
///
- public class FormatNonStandardScopeParameter : IOpenIddictClientHandler
+ public sealed class FormatNonStandardScopeParameter : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -435,7 +435,7 @@ public static partial class OpenIddictClientWebIntegrationHandlers
/// Contains the logic responsible for persisting the state parameter in the redirect URI for
/// providers that don't support it but allow arbitrary dynamic parameters in redirect_uri.
///
- public class IncludeStateParameterInRedirectUri : IOpenIddictClientHandler
+ public sealed class IncludeStateParameterInRedirectUri : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationOptions.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationOptions.cs
index 62295e17..0d53a66f 100644
--- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationOptions.cs
+++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationOptions.cs
@@ -9,7 +9,7 @@ namespace OpenIddict.Client.WebIntegration;
///
/// Provides various settings needed to configure the OpenIddict client Web integration.
///
-public partial class OpenIddictClientWebIntegrationOptions
+public sealed partial class OpenIddictClientWebIntegrationOptions
{
// Note: provider options are automatically generated by the source generator.
}
diff --git a/src/OpenIddict.Client/OpenIddictClientBuilder.cs b/src/OpenIddict.Client/OpenIddictClientBuilder.cs
index 6e0d197f..0209471b 100644
--- a/src/OpenIddict.Client/OpenIddictClientBuilder.cs
+++ b/src/OpenIddict.Client/OpenIddictClientBuilder.cs
@@ -20,7 +20,7 @@ namespace Microsoft.Extensions.DependencyInjection;
///
/// Exposes the necessary methods required to configure the OpenIddict client services.
///
-public class OpenIddictClientBuilder
+public sealed class OpenIddictClientBuilder
{
///
/// Initializes a new instance of .
diff --git a/src/OpenIddict.Client/OpenIddictClientConfiguration.cs b/src/OpenIddict.Client/OpenIddictClientConfiguration.cs
index 26cdbe1c..958658ef 100644
--- a/src/OpenIddict.Client/OpenIddictClientConfiguration.cs
+++ b/src/OpenIddict.Client/OpenIddictClientConfiguration.cs
@@ -14,7 +14,7 @@ namespace OpenIddict.Client;
///
/// Contains the methods required to ensure that the OpenIddict client configuration is valid.
///
-public class OpenIddictClientConfiguration : IPostConfigureOptions
+public sealed class OpenIddictClientConfiguration : IPostConfigureOptions
{
private readonly OpenIddictClientService _service;
diff --git a/src/OpenIddict.Client/OpenIddictClientDispatcher.cs b/src/OpenIddict.Client/OpenIddictClientDispatcher.cs
index 3f2bcda2..0ad65cd6 100644
--- a/src/OpenIddict.Client/OpenIddictClientDispatcher.cs
+++ b/src/OpenIddict.Client/OpenIddictClientDispatcher.cs
@@ -9,7 +9,7 @@ using Microsoft.Extensions.Options;
namespace OpenIddict.Client;
-public class OpenIddictClientDispatcher : IOpenIddictClientDispatcher
+public sealed class OpenIddictClientDispatcher : IOpenIddictClientDispatcher
{
private readonly ILogger _logger;
private readonly IOptionsMonitor _options;
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Authentication.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Authentication.cs
index 1bdc7e76..46a2faad 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Authentication.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Authentication.cs
@@ -14,7 +14,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the authorization endpoint to give the user code
/// a chance to manually update the authorization request before it is sent to the identity provider.
///
- public class PrepareAuthorizationRequestContext : BaseValidatingContext
+ public sealed class PrepareAuthorizationRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -43,7 +43,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the authorization endpoint
/// to give the user code a chance to manually send the authorization request.
///
- public class ApplyAuthorizationRequestContext : BaseValidatingContext
+ public sealed class ApplyAuthorizationRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -69,7 +69,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the redirection endpoint to give the user code
/// a chance to manually extract the redirection request from the ambient HTTP context.
///
- public class ExtractRedirectionRequestContext : BaseValidatingContext
+ public sealed class ExtractRedirectionRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -93,7 +93,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the redirection endpoint
/// to determine if the request is valid and should continue to be processed.
///
- public class ValidateRedirectionRequestContext : BaseValidatingContext
+ public sealed class ValidateRedirectionRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -130,7 +130,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each validated redirection request
/// to allow the user code to decide how the request should be handled.
///
- public class HandleRedirectionRequestContext : BaseValidatingTicketContext
+ public sealed class HandleRedirectionRequestContext : BaseValidatingTicketContext
{
///
/// Creates a new instance of the class.
@@ -159,7 +159,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called before the redirection response is returned to the caller.
///
- public class ApplyRedirectionResponseContext : BaseRequestContext
+ public sealed class ApplyRedirectionResponseContext : BaseRequestContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Discovery.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Discovery.cs
index 3d46fb27..b12d3e68 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Discovery.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Discovery.cs
@@ -14,7 +14,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the configuration endpoint
/// to give the user code a chance to add parameters to the configuration request.
///
- public class PrepareConfigurationRequestContext : BaseExternalContext
+ public sealed class PrepareConfigurationRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -38,7 +38,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the configuration endpoint
/// to send the configuration request to the remote authorization server.
///
- public class ApplyConfigurationRequestContext : BaseExternalContext
+ public sealed class ApplyConfigurationRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -62,7 +62,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each configuration response
/// to extract the response parameters from the server response.
///
- public class ExtractConfigurationResponseContext : BaseExternalContext
+ public sealed class ExtractConfigurationResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -94,7 +94,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called for each validated configuration response.
///
- public class HandleConfigurationResponseContext : BaseExternalContext
+ public sealed class HandleConfigurationResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -126,7 +126,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the cryptography endpoint
/// to give the user code a chance to add parameters to the cryptography request.
///
- public class PrepareCryptographyRequestContext : BaseExternalContext
+ public sealed class PrepareCryptographyRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -150,7 +150,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the cryptography endpoint
/// to send the cryptography request to the remote authorization server.
///
- public class ApplyCryptographyRequestContext : BaseExternalContext
+ public sealed class ApplyCryptographyRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -174,7 +174,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each cryptography response
/// to extract the response parameters from the server response.
///
- public class ExtractCryptographyResponseContext : BaseExternalContext
+ public sealed class ExtractCryptographyResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -206,7 +206,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called for each validated cryptography response.
///
- public class HandleCryptographyResponseContext : BaseExternalContext
+ public sealed class HandleCryptographyResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Exchange.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Exchange.cs
index 0e7982bf..30853582 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Exchange.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Exchange.cs
@@ -14,7 +14,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the token endpoint
/// to give the user code a chance to add parameters to the token request.
///
- public class PrepareTokenRequestContext : BaseExternalContext
+ public sealed class PrepareTokenRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -48,7 +48,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the token endpoint
/// to send the token request to the remote authorization server.
///
- public class ApplyTokenRequestContext : BaseExternalContext
+ public sealed class ApplyTokenRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -72,7 +72,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each token response
/// to extract the response parameters from the server response.
///
- public class ExtractTokenResponseContext : BaseExternalContext
+ public sealed class ExtractTokenResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -104,7 +104,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called for each token response.
///
- public class HandleTokenResponseContext : BaseExternalContext
+ public sealed class HandleTokenResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Protection.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Protection.cs
index f6885e0e..b820d29c 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Protection.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Protection.cs
@@ -15,7 +15,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when generating a token.
///
- public class GenerateTokenContext : BaseValidatingContext
+ public sealed class GenerateTokenContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -85,7 +85,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when validating a token.
///
- public class ValidateTokenContext : BaseValidatingContext
+ public sealed class ValidateTokenContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Session.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Session.cs
index cc5fbfda..73beb9e0 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Session.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Session.cs
@@ -14,7 +14,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the logout endpoint to give the user code
/// a chance to manually update the logout request before it is sent to the identity provider.
///
- public class PrepareLogoutRequestContext : BaseValidatingContext
+ public sealed class PrepareLogoutRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -43,7 +43,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the logout endpoint
/// to give the user code a chance to manually send the logout request.
///
- public class ApplyLogoutRequestContext : BaseValidatingContext
+ public sealed class ApplyLogoutRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -69,7 +69,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the post-logout redirection endpoint to give the user code
/// a chance to manually extract the redirection request from the ambient HTTP context.
///
- public class ExtractPostLogoutRedirectionRequestContext : BaseValidatingContext
+ public sealed class ExtractPostLogoutRedirectionRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -93,7 +93,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the post-logout redirection endpoint
/// to determine if the request is valid and should continue to be processed.
///
- public class ValidatePostLogoutRedirectionRequestContext : BaseValidatingContext
+ public sealed class ValidatePostLogoutRedirectionRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -130,7 +130,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each validated redirection request
/// to allow the user code to decide how the request should be handled.
///
- public class HandlePostLogoutRedirectionRequestContext : BaseValidatingTicketContext
+ public sealed class HandlePostLogoutRedirectionRequestContext : BaseValidatingTicketContext
{
///
/// Creates a new instance of the class.
@@ -159,7 +159,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called before the redirection response is returned to the caller.
///
- public class ApplyPostLogoutRedirectionResponseContext : BaseRequestContext
+ public sealed class ApplyPostLogoutRedirectionResponseContext : BaseRequestContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.Userinfo.cs b/src/OpenIddict.Client/OpenIddictClientEvents.Userinfo.cs
index 86a9199a..d9cde455 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.Userinfo.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.Userinfo.cs
@@ -14,7 +14,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the userinfo endpoint
/// to give the user code a chance to add parameters to the userinfo request.
///
- public class PrepareUserinfoRequestContext : BaseExternalContext
+ public sealed class PrepareUserinfoRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -38,7 +38,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each request to the userinfo endpoint
/// to send the userinfo request to the remote authorization server.
///
- public class ApplyUserinfoRequestContext : BaseExternalContext
+ public sealed class ApplyUserinfoRequestContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -62,7 +62,7 @@ public static partial class OpenIddictClientEvents
/// Represents an event called for each userinfo response
/// to extract the response parameters from the server response.
///
- public class ExtractUserinfoResponseContext : BaseExternalContext
+ public sealed class ExtractUserinfoResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
@@ -99,7 +99,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called for each userinfo response.
///
- public class HandleUserinfoResponseContext : BaseExternalContext
+ public sealed class HandleUserinfoResponseContext : BaseExternalContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientEvents.cs b/src/OpenIddict.Client/OpenIddictClientEvents.cs
index 7175467d..100e9be2 100644
--- a/src/OpenIddict.Client/OpenIddictClientEvents.cs
+++ b/src/OpenIddict.Client/OpenIddictClientEvents.cs
@@ -209,7 +209,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when processing an incoming request.
///
- public class ProcessRequestContext : BaseValidatingContext
+ public sealed class ProcessRequestContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -223,7 +223,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when processing an errored response.
///
- public class ProcessErrorContext : BaseRequestContext
+ public sealed class ProcessErrorContext : BaseRequestContext
{
///
/// Creates a new instance of the class.
@@ -275,7 +275,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when processing an authentication operation.
///
- public class ProcessAuthenticationContext : BaseValidatingContext
+ public sealed class ProcessAuthenticationContext : BaseValidatingContext
{
///
/// Creates a new instance of the class.
@@ -671,7 +671,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when processing a challenge response.
///
- public class ProcessChallengeContext : BaseValidatingTicketContext
+ public sealed class ProcessChallengeContext : BaseValidatingTicketContext
{
///
/// Creates a new instance of the class.
@@ -828,7 +828,7 @@ public static partial class OpenIddictClientEvents
///
/// Represents an event called when processing a sign-out response.
///
- public class ProcessSignOutContext : BaseValidatingTicketContext
+ public sealed class ProcessSignOutContext : BaseValidatingTicketContext
{
///
/// Creates a new instance of the class.
diff --git a/src/OpenIddict.Client/OpenIddictClientFactory.cs b/src/OpenIddict.Client/OpenIddictClientFactory.cs
index 67e0ae99..a6ece909 100644
--- a/src/OpenIddict.Client/OpenIddictClientFactory.cs
+++ b/src/OpenIddict.Client/OpenIddictClientFactory.cs
@@ -9,7 +9,7 @@ using Microsoft.Extensions.Options;
namespace OpenIddict.Client;
-public class OpenIddictClientFactory : IOpenIddictClientFactory
+public sealed class OpenIddictClientFactory : IOpenIddictClientFactory
{
private readonly ILogger _logger;
private readonly IOptionsMonitor _options;
diff --git a/src/OpenIddict.Client/OpenIddictClientHandler.cs b/src/OpenIddict.Client/OpenIddictClientHandler.cs
index 9abeaaf9..fa4b234d 100644
--- a/src/OpenIddict.Client/OpenIddictClientHandler.cs
+++ b/src/OpenIddict.Client/OpenIddictClientHandler.cs
@@ -10,7 +10,7 @@ namespace OpenIddict.Client;
/// Represents a handler able to process events.
///
/// The type of the events handled by this instance.
-public class OpenIddictClientHandler : IOpenIddictClientHandler where TContext : BaseContext
+public sealed class OpenIddictClientHandler : IOpenIddictClientHandler where TContext : BaseContext
{
private readonly Func _handler;
diff --git a/src/OpenIddict.Client/OpenIddictClientHandlerDescriptor.cs b/src/OpenIddict.Client/OpenIddictClientHandlerDescriptor.cs
index 3bb67965..3cf2eb6c 100644
--- a/src/OpenIddict.Client/OpenIddictClientHandlerDescriptor.cs
+++ b/src/OpenIddict.Client/OpenIddictClientHandlerDescriptor.cs
@@ -15,7 +15,7 @@ namespace OpenIddict.Client;
/// Represents an immutable descriptor of an OpenIddict client event handler.
///
[DebuggerDisplay("{ServiceDescriptor?.ServiceType}")]
-public class OpenIddictClientHandlerDescriptor
+public sealed class OpenIddictClientHandlerDescriptor
{
///
/// Creates a new instance of the class.
@@ -60,7 +60,7 @@ public class OpenIddictClientHandlerDescriptor
/// Contains methods allowing to build a descriptor instance.
///
/// The event context type.
- public class Builder where TContext : BaseContext
+ public sealed class Builder where TContext : BaseContext
{
private ServiceDescriptor? _descriptor;
private readonly List _filters = new();
diff --git a/src/OpenIddict.Client/OpenIddictClientHandlerFilters.cs b/src/OpenIddict.Client/OpenIddictClientHandlerFilters.cs
index 0c815b53..bea9a2ed 100644
--- a/src/OpenIddict.Client/OpenIddictClientHandlerFilters.cs
+++ b/src/OpenIddict.Client/OpenIddictClientHandlerFilters.cs
@@ -14,7 +14,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no authorization code is validated.
///
- public class RequireAuthorizationCodeValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireAuthorizationCodeValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -30,7 +30,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no backchannel access token is validated.
///
- public class RequireBackchannelAccessTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireBackchannelAccessTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -46,7 +46,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no backchannel identity token principal is available.
///
- public class RequireBackchannelIdentityTokenPrincipal : IOpenIddictClientHandlerFilter
+ public sealed class RequireBackchannelIdentityTokenPrincipal : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -62,7 +62,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no backchannel identity token is validated.
///
- public class RequireBackchannelIdentityTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireBackchannelIdentityTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -78,7 +78,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no client assertion token is generated.
///
- public class RequireClientAssertionTokenGenerated : IOpenIddictClientHandlerFilter
+ public sealed class RequireClientAssertionTokenGenerated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -94,7 +94,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no frontchannel access token is validated.
///
- public class RequireFrontchannelAccessTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireFrontchannelAccessTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -110,7 +110,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no frontchannel identity token principal is available.
///
- public class RequireFrontchannelIdentityTokenPrincipal : IOpenIddictClientHandlerFilter
+ public sealed class RequireFrontchannelIdentityTokenPrincipal : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -126,7 +126,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no frontchannel identity token is validated.
///
- public class RequireFrontchannelIdentityTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireFrontchannelIdentityTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -143,7 +143,7 @@ public static class OpenIddictClientHandlerFilters
/// Represents a filter that excludes the associated handlers if the challenge
/// doesn't correspond to an authorization code or implicit grant operation.
///
- public class RequireInteractiveGrantType : IOpenIddictClientHandlerFilter
+ public sealed class RequireInteractiveGrantType : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessChallengeContext context)
{
@@ -159,7 +159,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if the selected token format is not JSON Web Token.
///
- public class RequireJsonWebTokenFormat : IOpenIddictClientHandlerFilter
+ public sealed class RequireJsonWebTokenFormat : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(GenerateTokenContext context)
{
@@ -175,7 +175,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no login state token is generated.
///
- public class RequireLoginStateTokenGenerated : IOpenIddictClientHandlerFilter
+ public sealed class RequireLoginStateTokenGenerated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessChallengeContext context)
{
@@ -191,7 +191,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no logout state token is generated.
///
- public class RequireLogoutStateTokenGenerated : IOpenIddictClientHandlerFilter
+ public sealed class RequireLogoutStateTokenGenerated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessSignOutContext context)
{
@@ -207,7 +207,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if the request is not a post-logout redirection request.
///
- public class RequirePostLogoutRedirectionRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequirePostLogoutRedirectionRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseContext context)
{
@@ -223,7 +223,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if the request is not a redirection request.
///
- public class RequireRedirectionRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequireRedirectionRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseContext context)
{
@@ -239,7 +239,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no refresh token is validated.
///
- public class RequireRefreshTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireRefreshTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -255,7 +255,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no state token principal is available.
///
- public class RequireStateTokenPrincipal : IOpenIddictClientHandlerFilter
+ public sealed class RequireStateTokenPrincipal : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -271,7 +271,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no state token is validated.
///
- public class RequireStateTokenValidated : IOpenIddictClientHandlerFilter
+ public sealed class RequireStateTokenValidated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -287,7 +287,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no token entry is created in the database.
///
- public class RequireTokenEntryCreated : IOpenIddictClientHandlerFilter
+ public sealed class RequireTokenEntryCreated : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(GenerateTokenContext context)
{
@@ -303,7 +303,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if the token payload is not persisted in the database.
///
- public class RequireTokenPayloadPersisted : IOpenIddictClientHandlerFilter
+ public sealed class RequireTokenPayloadPersisted : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(GenerateTokenContext context)
{
@@ -319,7 +319,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no token request is expected to be sent.
///
- public class RequireTokenRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequireTokenRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -335,7 +335,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if token storage was not enabled.
///
- public class RequireTokenStorageEnabled : IOpenIddictClientHandlerFilter
+ public sealed class RequireTokenStorageEnabled : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(BaseContext context)
{
@@ -351,7 +351,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no userinfo request is expected to be sent.
///
- public class RequireUserinfoRequest : IOpenIddictClientHandlerFilter
+ public sealed class RequireUserinfoRequest : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -367,7 +367,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no userinfo token is extracted.
///
- public class RequireUserinfoTokenExtracted : IOpenIddictClientHandlerFilter
+ public sealed class RequireUserinfoTokenExtracted : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
@@ -383,7 +383,7 @@ public static class OpenIddictClientHandlerFilters
///
/// Represents a filter that excludes the associated handlers if no userinfo token principal is available.
///
- public class RequireUserinfoTokenPrincipal : IOpenIddictClientHandlerFilter
+ public sealed class RequireUserinfoTokenPrincipal : IOpenIddictClientHandlerFilter
{
public ValueTask IsActiveAsync(ProcessAuthenticationContext context)
{
diff --git a/src/OpenIddict.Client/OpenIddictClientHandlers.Authentication.cs b/src/OpenIddict.Client/OpenIddictClientHandlers.Authentication.cs
index cc556195..2246f7fe 100644
--- a/src/OpenIddict.Client/OpenIddictClientHandlers.Authentication.cs
+++ b/src/OpenIddict.Client/OpenIddictClientHandlers.Authentication.cs
@@ -47,7 +47,7 @@ public static partial class OpenIddictClientHandlers
///
/// Contains the logic responsible for preparing authorization requests and invoking the corresponding event handlers.
///
- public class PrepareAuthorizationRequest : IOpenIddictClientHandler
+ public sealed class PrepareAuthorizationRequest : IOpenIddictClientHandler
{
private readonly IOpenIddictClientDispatcher _dispatcher;
@@ -92,7 +92,7 @@ public static partial class OpenIddictClientHandlers
///
/// Contains the logic responsible for applying authorization requests and invoking the corresponding event handlers.
///
- public class ApplyAuthorizationRequest : IOpenIddictClientHandler
+ public sealed class ApplyAuthorizationRequest : IOpenIddictClientHandler
{
private readonly IOpenIddictClientDispatcher _dispatcher;
@@ -137,7 +137,7 @@ public static partial class OpenIddictClientHandlers
///
/// Contains the logic responsible for attaching the address of the authorization request to the request.
///
- public class AttachAuthorizationEndpoint : IOpenIddictClientHandler
+ public sealed class AttachAuthorizationEndpoint : IOpenIddictClientHandler
{
///
/// Gets the default descriptor definition assigned to this handler.
@@ -172,7 +172,7 @@ public static partial class OpenIddictClientHandlers
///