diff --git a/Directory.Build.targets b/Directory.Build.targets index 10fa1262..031aeac0 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -83,6 +83,7 @@ Condition=" ('$(TargetFrameworkIdentifier)' == '.NETCoreApp' And $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '5.0'))) "> $(DefineConstants);SUPPORTS_MULTIPLE_VALUES_IN_QUERYHELPERS $(DefineConstants);SUPPORTS_HTTP_CLIENT_DEFAULT_REQUEST_VERSION_POLICY + $(DefineConstants);SUPPORTS_PEM_ENCODED_KEY_IMPORT {{~ end ~}} /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientWebIntegrationBuilder.{{ provider.name }} Use{{ provider.name }}() { // Note: TryAddEnumerable() is used here to ensure the initializers are registered only once. @@ -90,7 +90,7 @@ public partial class OpenIddictClientWebIntegrationBuilder {{~ end ~}} /// This extension can be safely called multiple times. /// The delegate used to configure the OpenIddict/{{ provider.name }} options. - /// The . + /// The instance. public OpenIddictClientWebIntegrationBuilder Use{{ provider.name }}(Action configuration) { if (configuration is null) @@ -108,7 +108,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// /// Exposes the necessary methods required to configure the {{ provider.name }} integration. /// - public class {{ provider.name }} + public partial class {{ provider.name }} { /// /// Initializes a new instance of . @@ -128,7 +128,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public {{ provider.name }} Configure(Action configuration) { if (configuration is null) @@ -145,7 +145,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// Sets the client identifier. /// /// The client identifier. - /// The . + /// The instance. public {{ provider.name }} SetClientId(string identifier) { if (string.IsNullOrEmpty(identifier)) @@ -160,7 +160,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// Sets the client secret, if applicable. /// /// The client secret. - /// The . + /// The instance. public {{ provider.name }} SetClientSecret(string secret) { if (string.IsNullOrEmpty(secret)) @@ -175,7 +175,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// Sets the redirection URI, if applicable. /// /// The redirection URI. - /// The . + /// The instance. public {{ provider.name }} SetRedirectUri(Uri address) { if (address is null) @@ -190,7 +190,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// Sets the redirection URI, if applicable. /// /// The redirection URI. - /// The . + /// The instance. public {{ provider.name }} SetRedirectUri(string address) { if (string.IsNullOrEmpty(address)) @@ -210,7 +210,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// Adds one or more scopes to the list of requested scopes, if applicable. /// /// The scopes. - /// The . + /// The instance. public {{ provider.name }} AddScopes(params string[] scopes) { if (scopes is null) @@ -225,7 +225,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// /// Configures the provider to use the ""{{ environment.name }}"" environment. /// - /// The . + /// The instance. public {{ provider.name }} Use{{ environment.name }}Environment() => Configure(options => options.Environment = OpenIddictClientWebIntegrationConstants.{{ provider.name }}.Environments.{{ environment.name }}); {{~ end ~}} @@ -237,11 +237,25 @@ public partial class OpenIddictClientWebIntegrationBuilder /// {{~ end ~}} {{~ if setting.collection ~}} - public {{ provider.name }} Add{{ setting.name }}(params {{ setting.clr_type }}[] values) - => Configure(options => options.{{ setting.name }}.UnionWith(values)); + public {{ provider.name }} Add{{ setting.property_name }}(params {{ setting.clr_type }}[] {{ setting.parameter_name }}) + { + if ({{ setting.parameter_name }} is null) + { + throw new ArgumentNullException(nameof({{ setting.parameter_name }})); + } + + return Configure(options => options.{{ setting.property_name }}.UnionWith({{ setting.parameter_name }})); + } {{~ else ~}} - public {{ provider.name }} Set{{ setting.name }}({{ setting.clr_type }}? value) - => Configure(options => options.{{ setting.name }} = value); + public {{ provider.name }} Set{{ setting.property_name }}({{ setting.clr_type }} {{ setting.parameter_name }}) + { + if ({{ setting.parameter_name }} is null) + { + throw new ArgumentNullException(nameof({{ setting.parameter_name }})); + } + + return Configure(options => options.{{ setting.property_name }} = {{ setting.parameter_name }}); + } {{~ end ~}} {{~ end ~}} @@ -277,7 +291,9 @@ public partial class OpenIddictClientWebIntegrationBuilder Settings = provider.Elements("Setting").Select(setting => new { - Name = (string) setting.Attribute("Name"), + PropertyName = (string) setting.Attribute("PropertyName"), + ParameterName = (string) setting.Attribute("ParameterName"), + Collection = (bool?) setting.Attribute("Collection") ?? false, Description = (string) setting.Attribute("Description") is string description ? char.ToLower(description[0], CultureInfo.GetCultureInfo("en-US")) + description.Substring(1) : null, @@ -404,12 +420,12 @@ public partial class OpenIddictClientWebIntegrationConfiguration {{~ for setting in provider.settings ~}} {{~ if setting.required ~}} {{~ if setting.type == 'String' ~}} - if (string.IsNullOrEmpty(options.{{ setting.name }})) + if (string.IsNullOrEmpty(options.{{ setting.property_name }})) {{~ else ~}} - if (options.{{ setting.name }} is null) + if (options.{{ setting.property_name }} is null) {{~ end ~}} { - throw new InvalidOperationException(SR.FormatID0332(nameof(options.{{ setting.name }}), Providers.{{ provider.name }})); + throw new InvalidOperationException(SR.FormatID0332(nameof(options.{{ setting.property_name }}), Providers.{{ provider.name }})); } {{~ end ~}} {{~ end ~}} @@ -436,20 +452,20 @@ public partial class OpenIddictClientWebIntegrationConfiguration {{~ for setting in provider.settings ~}} {{~ if setting.default_value && setting.type == 'String' ~}} - if (string.IsNullOrEmpty(options.{{ setting.name }})) + if (string.IsNullOrEmpty(options.{{ setting.property_name }})) { - options.{{ setting.name }} = ""{{ setting.default_value }}""; + options.{{ setting.property_name }} = ""{{ setting.default_value }}""; } {{~ end ~}} {{~ end ~}} {{~ for setting in provider.settings ~}} {{~ if setting.collection ~}} - if (options.{{ setting.name }}.Count is 0) + if (options.{{ setting.property_name }}.Count is 0) { {{~ for item in setting.collection_items ~}} {{~ if item.default && !item.required ~}} - options.{{ setting.name }}.Add(""{{ item.value }}""); + options.{{ setting.property_name }}.Add(""{{ item.value }}""); {{~ end ~}} {{~ end ~}} } @@ -457,7 +473,7 @@ public partial class OpenIddictClientWebIntegrationConfiguration {{~ for item in setting.collection_items ~}} {{~ if item.required ~}} - options.{{ setting.name }}.Add(""{{ item.value }}""); + options.{{ setting.property_name }}.Add(""{{ item.value }}""); {{~ end ~}} {{~ end ~}} {{~ end ~}} @@ -565,7 +581,7 @@ public partial class OpenIddictClientWebIntegrationConfiguration { {{~ for setting in provider.settings ~}} {{~ if setting.type == 'EncryptionKey' ~}} - new EncryptingCredentials(settings.{{ setting.name }}, ""{{ setting.encryption_algorithm }}"", SecurityAlgorithms.Aes256CbcHmacSha512), + new EncryptingCredentials(settings.{{ setting.property_name }}, ""{{ setting.encryption_algorithm }}"", SecurityAlgorithms.Aes256CbcHmacSha512), {{~ end ~}} {{~ end ~}} }, @@ -574,7 +590,7 @@ public partial class OpenIddictClientWebIntegrationConfiguration { {{~ for setting in provider.settings ~}} {{~ if setting.type == 'SigningKey' ~}} - new SigningCredentials(settings.{{ setting.name }}, ""{{ setting.signing_algorithm }}""), + new SigningCredentials(settings.{{ setting.property_name }}, ""{{ setting.signing_algorithm }}""), {{~ end ~}} {{~ end ~}} }, @@ -675,7 +691,8 @@ public partial class OpenIddictClientWebIntegrationConfiguration Settings = provider.Elements("Setting").Select(setting => new { - Name = (string) setting.Attribute("Name"), + PropertyName = (string) setting.Attribute("PropertyName"), + Type = (string) setting.Attribute("Type"), Required = (bool?) setting.Attribute("Required") ?? false, Collection = (bool?) setting.Attribute("Collection") ?? false, @@ -785,9 +802,9 @@ public partial class OpenIddictClientWebIntegrationOptions /// {{~ end ~}} {{~ if setting.collection ~}} - public HashSet<{{ setting.clr_type }}> {{ setting.name }} { get; } = new(); + public HashSet<{{ setting.clr_type }}> {{ setting.property_name }} { get; } = new(); {{~ else ~}} - public {{ setting.clr_type }}? {{ setting.name }} { get; set; } + public {{ setting.clr_type }}? {{ setting.property_name }} { get; set; } {{~ end ~}} {{~ end ~}} @@ -804,7 +821,8 @@ public partial class OpenIddictClientWebIntegrationOptions Settings = provider.Elements("Setting").Select(setting => new { - Name = (string) setting.Attribute("Name"), + PropertyName = (string) setting.Attribute("PropertyName"), + Collection = (bool?) setting.Attribute("Collection") ?? false, Description = (string) setting.Attribute("Description") is string description ? char.ToLower(description[0], CultureInfo.GetCultureInfo("en-US")) + description.Substring(1) : null, diff --git a/src/OpenIddict.Abstractions/OpenIddictExtensions.cs b/src/OpenIddict.Abstractions/OpenIddictExtensions.cs index 1d30e8c3..d7731ae6 100644 --- a/src/OpenIddict.Abstractions/OpenIddictExtensions.cs +++ b/src/OpenIddict.Abstractions/OpenIddictExtensions.cs @@ -16,7 +16,7 @@ public static class OpenIddictExtensions /// /// The services collection. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictBuilder AddOpenIddict(this IServiceCollection services) { if (services is null) diff --git a/src/OpenIddict.Abstractions/OpenIddictResources.resx b/src/OpenIddict.Abstractions/OpenIddictResources.resx index 378d81c7..29670068 100644 --- a/src/OpenIddict.Abstractions/OpenIddictResources.resx +++ b/src/OpenIddict.Abstractions/OpenIddictResources.resx @@ -1334,6 +1334,9 @@ Alternatively, you can disable the token storage feature by calling 'services.Ad The product name cannot be null or empty. + + The PEM-encoded key cannot be empty. + The security token is missing. diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs index 9b42b165..565cb36a 100644 --- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs +++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictClientAspNetCoreBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientAspNetCoreBuilder Configure(Action configuration) { if (configuration is null) @@ -53,7 +53,7 @@ public class OpenIddictClientAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictClientAspNetCoreBuilder EnablePostLogoutRedirectionEndpointPassthrough() => Configure(options => options.EnablePostLogoutRedirectionEndpointPassthrough = true); @@ -63,7 +63,7 @@ public class OpenIddictClientAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictClientAspNetCoreBuilder EnableRedirectionEndpointPassthrough() => Configure(options => options.EnableRedirectionEndpointPassthrough = true); @@ -76,7 +76,7 @@ public class OpenIddictClientAspNetCoreBuilder /// /// Important: the error pass-through mode cannot be used when the status code pages integration is enabled. /// - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictClientAspNetCoreBuilder EnableErrorPassthrough() => Configure(options => options.EnableErrorPassthrough = true); @@ -85,7 +85,7 @@ public class OpenIddictClientAspNetCoreBuilder /// Enables status code pages integration support. Once enabled, errors /// generated by the interactive endpoints can be handled by ASP.NET Core. /// - /// The . + /// The instance. public OpenIddictClientAspNetCoreBuilder EnableStatusCodePagesIntegration() => Configure(options => options.EnableStatusCodePagesIntegration = true); diff --git a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreExtensions.cs b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreExtensions.cs index 8d2a93dd..33346e12 100644 --- a/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreExtensions.cs +++ b/src/OpenIddict.Client.AspNetCore/OpenIddictClientAspNetCoreExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictClientAspNetCoreExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientAspNetCoreBuilder UseAspNetCore(this OpenIddictClientBuilder builder) { if (builder is null) @@ -63,7 +63,7 @@ public static class OpenIddictClientAspNetCoreExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the client services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder UseAspNetCore( this OpenIddictClientBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs index 84c2f4b1..4e780449 100644 --- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs +++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictClientDataProtectionBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientDataProtectionBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictClientDataProtectionBuilder /// instead of relying on the default instance provided by the DI container. /// /// The data protection provider used to create token protectors. - /// The . + /// The instance. public OpenIddictClientDataProtectionBuilder UseDataProtectionProvider(IDataProtectionProvider provider) { if (provider is null) @@ -67,7 +67,7 @@ public class OpenIddictClientDataProtectionBuilder /// Configures OpenIddict to use a specific formatter instead of relying on the default instance. /// /// The formatter used to read and write tokens. - /// The . + /// The instance. public OpenIddictClientDataProtectionBuilder UseFormatter(IOpenIddictClientDataProtectionFormatter formatter) { if (formatter is null) @@ -81,7 +81,7 @@ public class OpenIddictClientDataProtectionBuilder /// /// Configures OpenIddict to use the default token format (JWT) when issuing new state tokens. /// - /// The . + /// The instance. public OpenIddictClientDataProtectionBuilder PreferDefaultStateTokenFormat() => Configure(options => options.PreferDefaultStateTokenFormat = true); diff --git a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionExtensions.cs b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionExtensions.cs index bb4284e5..8c99bc60 100644 --- a/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionExtensions.cs +++ b/src/OpenIddict.Client.DataProtection/OpenIddictClientDataProtectionExtensions.cs @@ -22,7 +22,7 @@ public static class OpenIddictClientDataProtectionExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientDataProtectionBuilder UseDataProtection(this OpenIddictClientBuilder builder) { if (builder is null) @@ -56,7 +56,7 @@ public static class OpenIddictClientDataProtectionExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the client services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder UseDataProtection( this OpenIddictClientBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs index e1ad39b4..ba965f68 100644 --- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs +++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictClientOwinBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientOwinBuilder Configure(Action configuration) { if (configuration is null) @@ -53,7 +53,7 @@ public class OpenIddictClientOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictClientOwinBuilder EnablePostLogoutRedirectionEndpointPassthrough() => Configure(options => options.EnablePostLogoutRedirectionEndpointPassthrough = true); @@ -63,7 +63,7 @@ public class OpenIddictClientOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictClientOwinBuilder EnableRedirectionEndpointPassthrough() => Configure(options => options.EnableRedirectionEndpointPassthrough = true); @@ -76,7 +76,7 @@ public class OpenIddictClientOwinBuilder /// /// Important: the error pass-through mode cannot be used when the status code pages integration is enabled. /// - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictClientOwinBuilder EnableErrorPassthrough() => Configure(options => options.EnableErrorPassthrough = true); diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinExtensions.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinExtensions.cs index 24a4706f..c4599d79 100644 --- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinExtensions.cs +++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictClientOwinExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientOwinBuilder UseOwin(this OpenIddictClientBuilder builder) { if (builder is null) @@ -63,7 +63,7 @@ public static class OpenIddictClientOwinExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the client services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder UseOwin( this OpenIddictClientBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHelpers.cs b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHelpers.cs index bd231324..45dbb571 100644 --- a/src/OpenIddict.Client.Owin/OpenIddictClientOwinHelpers.cs +++ b/src/OpenIddict.Client.Owin/OpenIddictClientOwinHelpers.cs @@ -20,7 +20,7 @@ public static class OpenIddictClientOwinHelpers /// middleware resolution (like Autofac), calling this method is NOT recommended. /// /// The application builder used to register middleware instances. - /// The . + /// The instance. public static IAppBuilder UseOpenIddictClient(this IAppBuilder app) { if (app is null) diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs index 0be71e0f..16e3afe4 100644 --- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs +++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpBuilder.cs @@ -35,7 +35,7 @@ public class OpenIddictClientSystemNetHttpBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientSystemNetHttpBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictClientSystemNetHttpBuilder /// Replaces the default HTTP error policy used by the OpenIddict client services. /// /// The HTTP Polly error policy. - /// The . + /// The instance. public OpenIddictClientSystemNetHttpBuilder SetHttpErrorPolicy(IAsyncPolicy policy) { if (policy is null) @@ -68,7 +68,7 @@ public class OpenIddictClientSystemNetHttpBuilder /// to the backchannel HTTP requests sent to the authorization server. /// /// The product information. - /// The . + /// The instance. public OpenIddictClientSystemNetHttpBuilder SetProductInformation(ProductInfoHeaderValue information) { if (information is null) @@ -85,7 +85,7 @@ public class OpenIddictClientSystemNetHttpBuilder /// /// The product name. /// The product version. - /// The . + /// The instance. public OpenIddictClientSystemNetHttpBuilder SetProductInformation(string name, string? version) { if (string.IsNullOrEmpty(name)) @@ -102,7 +102,7 @@ public class OpenIddictClientSystemNetHttpBuilder /// on the identity of the specified .NET assembly (name and version). /// /// The assembly from which the product information is created. - /// The . + /// The instance. public OpenIddictClientSystemNetHttpBuilder SetProductInformation(Assembly assembly) { if (assembly is null) diff --git a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpExtensions.cs b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpExtensions.cs index cded095c..57f7a8a3 100644 --- a/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpExtensions.cs +++ b/src/OpenIddict.Client.SystemNetHttp/OpenIddictClientSystemNetHttpExtensions.cs @@ -22,7 +22,7 @@ public static class OpenIddictClientSystemNetHttpExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientSystemNetHttpBuilder UseSystemNetHttp(this OpenIddictClientBuilder builder) { if (builder is null) @@ -55,7 +55,7 @@ public static class OpenIddictClientSystemNetHttpExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the client services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder UseSystemNetHttp( this OpenIddictClientBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs index 64396b42..9e674402 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationBuilder.cs @@ -5,6 +5,8 @@ */ using System.ComponentModel; +using System.Security.Cryptography; +using Microsoft.IdentityModel.Tokens; using OpenIddict.Client.WebIntegration; namespace Microsoft.Extensions.DependencyInjection; @@ -32,7 +34,7 @@ public partial class OpenIddictClientWebIntegrationBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientWebIntegrationBuilder Configure(Action configuration) { if (configuration is null) @@ -47,6 +49,60 @@ public partial class OpenIddictClientWebIntegrationBuilder // Note: provider registration methods are automatically generated by the source generator. + /// + /// Exposes the necessary methods required to configure the Apple integration. + /// + public partial class Apple + { +#if SUPPORTS_PEM_ENCODED_KEY_IMPORT + /// + /// Configures the Elliptic Curve Digital Signature Algorithm + /// (ECDSA) signing key associated with the developer account. + /// + /// The PEM-encoded ECDSA signing key. + /// The instance. + public Apple SetSigningKey(string key) => SetSigningKey(key.AsMemory()); + + /// + /// Configures the Elliptic Curve Digital Signature Algorithm + /// (ECDSA) signing key associated with the developer account. + /// + /// The PEM-encoded ECDSA signing key. + /// The instance. + public Apple SetSigningKey(ReadOnlyMemory key) => SetSigningKey(key.Span); + + /// + /// Configures the Elliptic Curve Digital Signature Algorithm + /// (ECDSA) signing key associated with the developer account. + /// + /// The PEM-encoded ECDSA signing key. + /// The instance. + public Apple SetSigningKey(ReadOnlySpan key) + { + if (key.IsEmpty) + { + throw new ArgumentException(SR.GetResourceString(SR.ID0346), nameof(key)); + } + + var algorithm = ECDsa.Create(); + + try + { + algorithm.ImportFromPem(key); + } + + catch + { + algorithm.Dispose(); + + throw; + } + + return SetSigningKey(new ECDsaSecurityKey(algorithm)); + } +#endif + } + /// [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object? obj) => base.Equals(obj); diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationExtensions.cs b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationExtensions.cs index b0db68b4..592d3503 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationExtensions.cs +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictClientWebIntegrationExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientWebIntegrationBuilder UseWebProviders(this OpenIddictClientBuilder builder) { if (builder is null) @@ -52,7 +52,7 @@ public static class OpenIddictClientWebIntegrationExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder UseWebProviders( this OpenIddictClientBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml index c62120f7..be271390 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xml @@ -4,12 +4,12 @@ - - @@ -35,7 +35,7 @@ - @@ -78,12 +78,12 @@ - - @@ -107,7 +107,7 @@ - diff --git a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xsd b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xsd index d465a485..d731191a 100644 --- a/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xsd +++ b/src/OpenIddict.Client.WebIntegration/OpenIddictClientWebIntegrationProviders.xsd @@ -329,9 +329,9 @@ - + - The setting name. + The name of the property used to reference the setting in the options class. @@ -341,6 +341,18 @@ + + + The name of the parameter used to reference the setting in the builder methods. + + + + + + + + + A boolean indicating whether the setting is a collection. diff --git a/src/OpenIddict.Client/OpenIddictClientBuilder.cs b/src/OpenIddict.Client/OpenIddictClientBuilder.cs index 71e2f408..3c1ae9d1 100644 --- a/src/OpenIddict.Client/OpenIddictClientBuilder.cs +++ b/src/OpenIddict.Client/OpenIddictClientBuilder.cs @@ -39,7 +39,7 @@ public class OpenIddictClientBuilder /// /// The event context type. /// The configuration delegate. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictClientBuilder AddEventHandler( Action> configuration) @@ -63,7 +63,7 @@ public class OpenIddictClientBuilder /// Registers an event handler using the specified descriptor. /// /// The handler descriptor. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictClientBuilder AddEventHandler(OpenIddictClientHandlerDescriptor descriptor) { @@ -82,7 +82,7 @@ public class OpenIddictClientBuilder /// Removes the event handler that matches the specified descriptor. /// /// The descriptor corresponding to the handler to remove. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictClientBuilder RemoveEventHandler(OpenIddictClientHandlerDescriptor descriptor) { @@ -112,7 +112,7 @@ public class OpenIddictClientBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictClientBuilder Configure(Action configuration) { if (configuration is null) @@ -129,7 +129,7 @@ public class OpenIddictClientBuilder /// Registers encryption credentials. /// /// The encrypting credentials. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCredentials(EncryptingCredentials credentials) { if (credentials is null) @@ -144,7 +144,7 @@ public class OpenIddictClientBuilder /// Registers an encryption key. /// /// The security key. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionKey(SecurityKey key) { if (key is null) @@ -182,7 +182,7 @@ public class OpenIddictClientBuilder /// /// Registers (and generates if necessary) a user-specific development encryption certificate. /// - /// The . + /// The instance. public OpenIddictClientBuilder AddDevelopmentEncryptionCertificate() => AddDevelopmentEncryptionCertificate(new X500DistinguishedName("CN=OpenIddict Client Encryption Certificate")); @@ -190,7 +190,7 @@ public class OpenIddictClientBuilder /// Registers (and generates if necessary) a user-specific development encryption certificate. /// /// The subject name associated with the certificate. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the client options.")] public OpenIddictClientBuilder AddDevelopmentEncryptionCertificate(X500DistinguishedName subject) @@ -269,7 +269,7 @@ public class OpenIddictClientBuilder /// automatically invalidated. This method should only be used during development. /// On production, using a X.509 certificate stored in the machine store is recommended. /// - /// The . + /// The instance. public OpenIddictClientBuilder AddEphemeralEncryptionKey() => AddEphemeralEncryptionKey(SecurityAlgorithms.RsaOAEP); @@ -280,7 +280,7 @@ public class OpenIddictClientBuilder /// On production, using a X.509 certificate stored in the machine store is recommended. /// /// The algorithm associated with the encryption key. - /// The . + /// The instance. public OpenIddictClientBuilder AddEphemeralEncryptionKey(string algorithm) { if (string.IsNullOrEmpty(algorithm)) @@ -353,7 +353,7 @@ public class OpenIddictClientBuilder /// Registers an encryption certificate. /// /// The encryption certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate(X509Certificate2 certificate) { if (certificate is null) @@ -386,7 +386,7 @@ public class OpenIddictClientBuilder /// The assembly containing the certificate. /// The name of the embedded resource. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate(Assembly assembly, string resource, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -404,7 +404,7 @@ public class OpenIddictClientBuilder /// The name of the embedded resource. /// The password used to open the certificate. /// An enumeration of flags indicating how and where to store the private key of the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate( Assembly assembly, string resource, string? password, X509KeyStorageFlags flags) @@ -430,7 +430,7 @@ public class OpenIddictClientBuilder /// /// The stream containing the certificate. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate(Stream stream, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -450,7 +450,7 @@ public class OpenIddictClientBuilder /// An enumeration of flags indicating how and where /// to store the private key of the certificate. /// - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the client options.")] public OpenIddictClientBuilder AddEncryptionCertificate(Stream stream, string? password, X509KeyStorageFlags flags) @@ -470,7 +470,7 @@ public class OpenIddictClientBuilder /// Registers an encryption certificate retrieved from the X.509 user or machine store. /// /// The thumbprint of the certificate used to identify it in the X.509 store. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate(string thumbprint) { if (string.IsNullOrEmpty(thumbprint)) @@ -500,7 +500,7 @@ public class OpenIddictClientBuilder /// The thumbprint of the certificate used to identify it in the X.509 store. /// The name of the X.509 store. /// The location of the X.509 store. - /// The . + /// The instance. public OpenIddictClientBuilder AddEncryptionCertificate(string thumbprint, StoreName name, StoreLocation location) { if (string.IsNullOrEmpty(thumbprint)) @@ -521,7 +521,7 @@ public class OpenIddictClientBuilder /// Registers signing credentials. /// /// The signing credentials. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCredentials(SigningCredentials credentials) { if (credentials is null) @@ -536,7 +536,7 @@ public class OpenIddictClientBuilder /// Registers a signing key. /// /// The security key. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningKey(SecurityKey key) { if (key is null) @@ -592,7 +592,7 @@ public class OpenIddictClientBuilder /// /// Registers (and generates if necessary) a user-specific development signing certificate. /// - /// The . + /// The instance. public OpenIddictClientBuilder AddDevelopmentSigningCertificate() => AddDevelopmentSigningCertificate(new X500DistinguishedName("CN=OpenIddict Client Signing Certificate")); @@ -600,7 +600,7 @@ public class OpenIddictClientBuilder /// Registers (and generates if necessary) a user-specific development signing certificate. /// /// The subject name associated with the certificate. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the client options.")] public OpenIddictClientBuilder AddDevelopmentSigningCertificate(X500DistinguishedName subject) @@ -679,7 +679,7 @@ public class OpenIddictClientBuilder /// automatically invalidated. This method should only be used during development. /// On production, using a X.509 certificate stored in the machine store is recommended. /// - /// The . + /// The instance. public OpenIddictClientBuilder AddEphemeralSigningKey() => AddEphemeralSigningKey(SecurityAlgorithms.RsaSha256); @@ -690,7 +690,7 @@ public class OpenIddictClientBuilder /// On production, using a X.509 certificate stored in the machine store is recommended. /// /// The algorithm associated with the signing key. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the client options.")] public OpenIddictClientBuilder AddEphemeralSigningKey(string algorithm) @@ -781,7 +781,7 @@ public class OpenIddictClientBuilder /// Registers a signing certificate. /// /// The signing certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate(X509Certificate2 certificate) { if (certificate is null) @@ -814,7 +814,7 @@ public class OpenIddictClientBuilder /// The assembly containing the certificate. /// The name of the embedded resource. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate(Assembly assembly, string resource, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -832,7 +832,7 @@ public class OpenIddictClientBuilder /// The name of the embedded resource. /// The password used to open the certificate. /// An enumeration of flags indicating how and where to store the private key of the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate( Assembly assembly, string resource, string? password, X509KeyStorageFlags flags) @@ -858,7 +858,7 @@ public class OpenIddictClientBuilder /// /// The stream containing the certificate. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate(Stream stream, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -878,7 +878,7 @@ public class OpenIddictClientBuilder /// An enumeration of flags indicating how and where /// to store the private key of the certificate. /// - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the client options.")] public OpenIddictClientBuilder AddSigningCertificate(Stream stream, string? password, X509KeyStorageFlags flags) @@ -898,7 +898,7 @@ public class OpenIddictClientBuilder /// Registers a signing certificate retrieved from the X.509 user or machine store. /// /// The thumbprint of the certificate used to identify it in the X.509 store. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate(string thumbprint) { if (string.IsNullOrEmpty(thumbprint)) @@ -928,7 +928,7 @@ public class OpenIddictClientBuilder /// The thumbprint of the certificate used to identify it in the X.509 store. /// The name of the X.509 store. /// The location of the X.509 store. - /// The . + /// The instance. public OpenIddictClientBuilder AddSigningCertificate(string thumbprint, StoreName name, StoreLocation location) { if (string.IsNullOrEmpty(thumbprint)) @@ -949,7 +949,7 @@ public class OpenIddictClientBuilder /// Adds a new client registration. /// /// The client registration. - /// The . + /// The instance. public OpenIddictClientBuilder AddRegistration(OpenIddictClientRegistration registration) { if (registration is null) @@ -966,7 +966,7 @@ public class OpenIddictClientBuilder /// Using this option is generally NOT recommended as it prevents /// the tokens from being revoked (if needed). /// - /// The . + /// The instance. public OpenIddictClientBuilder DisableTokenStorage() => Configure(options => options.DisableTokenStorage = true); @@ -981,7 +981,7 @@ public class OpenIddictClientBuilder /// see https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics#section-4.4. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictClientBuilder SetRedirectionEndpointUris(params string[] addresses) { if (addresses is null) @@ -1003,7 +1003,7 @@ public class OpenIddictClientBuilder /// see https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics#section-4.4. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictClientBuilder SetRedirectionEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1033,7 +1033,7 @@ public class OpenIddictClientBuilder /// If an empty array is specified, the endpoint will be considered disabled. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictClientBuilder SetPostLogoutRedirectionEndpointUris(params string[] addresses) { if (addresses is null) @@ -1049,7 +1049,7 @@ public class OpenIddictClientBuilder /// If an empty array is specified, the endpoint will be considered disabled. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictClientBuilder SetPostLogoutRedirectionEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1081,7 +1081,7 @@ public class OpenIddictClientBuilder /// While discouraged, can be specified to issue tokens that never expire. /// /// The access token lifetime. - /// The . + /// The instance. public OpenIddictClientBuilder SetClientAssertionTokenLifetime(TimeSpan? lifetime) => Configure(options => options.ClientAssertionTokenLifetime = lifetime); @@ -1092,7 +1092,7 @@ public class OpenIddictClientBuilder /// While discouraged, can be specified to issue tokens that never expire. /// /// The access token lifetime. - /// The . + /// The instance. public OpenIddictClientBuilder SetStateTokenLifetime(TimeSpan? lifetime) => Configure(options => options.StateTokenLifetime = lifetime); diff --git a/src/OpenIddict.Client/OpenIddictClientExtensions.cs b/src/OpenIddict.Client/OpenIddictClientExtensions.cs index f071f4fb..d34db533 100644 --- a/src/OpenIddict.Client/OpenIddictClientExtensions.cs +++ b/src/OpenIddict.Client/OpenIddictClientExtensions.cs @@ -20,7 +20,7 @@ public static class OpenIddictClientExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictClientBuilder AddClient(this OpenIddictBuilder builder) { if (builder is null) @@ -78,7 +78,7 @@ public static class OpenIddictClientExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the client services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictBuilder AddClient(this OpenIddictBuilder builder, Action configuration) { if (builder is null) diff --git a/src/OpenIddict.Core/OpenIddictCoreBuilder.cs b/src/OpenIddict.Core/OpenIddictCoreBuilder.cs index 1afd03ca..1c5aace4 100644 --- a/src/OpenIddict.Core/OpenIddictCoreBuilder.cs +++ b/src/OpenIddict.Core/OpenIddictCoreBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictCoreBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictCoreBuilder Configure(Action configuration) { if (configuration is null) @@ -55,7 +55,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddApplicationStore(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TStore : class => AddApplicationStore(typeof(TStore), lifetime); @@ -68,7 +68,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddApplicationStore(Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { if (type is null) @@ -108,7 +108,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddAuthorizationStore(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TStore : class => AddAuthorizationStore(typeof(TStore), lifetime); @@ -121,7 +121,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddAuthorizationStore(Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { if (type is null) @@ -161,7 +161,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddScopeStore(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TStore : class => AddScopeStore(typeof(TStore), lifetime); @@ -174,7 +174,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddScopeStore(Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { if (type is null) @@ -214,7 +214,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddTokenStore(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TStore : class => AddTokenStore(typeof(TStore), lifetime); @@ -227,7 +227,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder AddTokenStore(Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { if (type is null) @@ -266,7 +266,7 @@ public class OpenIddictCoreBuilder /// must be either a non-generic or closed generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceApplicationManager() where TManager : class => ReplaceApplicationManager(typeof(TManager)); @@ -278,7 +278,7 @@ public class OpenIddictCoreBuilder /// either a non-generic, a closed or an open generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceApplicationManager(Type type) { if (type is null) @@ -321,7 +321,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceApplicationStoreResolver(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TResolver : IOpenIddictApplicationStoreResolver => ReplaceApplicationStoreResolver(typeof(TResolver), lifetime); @@ -331,7 +331,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceApplicationStoreResolver( Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { @@ -357,7 +357,7 @@ public class OpenIddictCoreBuilder /// must be either a non-generic or closed generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceAuthorizationManager() where TManager : class => ReplaceAuthorizationManager(typeof(TManager)); @@ -369,7 +369,7 @@ public class OpenIddictCoreBuilder /// either a non-generic, a closed or an open generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceAuthorizationManager(Type type) { if (type is null) @@ -412,7 +412,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceAuthorizationStoreResolver(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TResolver : IOpenIddictAuthorizationStoreResolver => ReplaceAuthorizationStoreResolver(typeof(TResolver), lifetime); @@ -422,7 +422,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceAuthorizationStoreResolver( Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { @@ -448,7 +448,7 @@ public class OpenIddictCoreBuilder /// must be either a non-generic or closed generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceScopeManager() where TManager : class => ReplaceScopeManager(typeof(TManager)); @@ -460,7 +460,7 @@ public class OpenIddictCoreBuilder /// either a non-generic, a closed or an open generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceScopeManager(Type type) { if (type is null) @@ -503,7 +503,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceScopeStoreResolver(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TResolver : IOpenIddictScopeStoreResolver => ReplaceScopeStoreResolver(typeof(TResolver), lifetime); @@ -513,7 +513,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceScopeStoreResolver( Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { @@ -539,7 +539,7 @@ public class OpenIddictCoreBuilder /// must be either a non-generic or closed generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceTokenManager() where TManager : class => ReplaceTokenManager(typeof(TManager)); @@ -551,7 +551,7 @@ public class OpenIddictCoreBuilder /// either a non-generic, a closed or an open generic service. /// /// The type of the custom manager. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceTokenManager(Type type) { if (type is null) @@ -594,7 +594,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceTokenStoreResolver(ServiceLifetime lifetime = ServiceLifetime.Scoped) where TResolver : IOpenIddictTokenStoreResolver => ReplaceTokenStoreResolver(typeof(TResolver), lifetime); @@ -604,7 +604,7 @@ public class OpenIddictCoreBuilder /// /// The type of the custom store. /// The lifetime of the registered service. - /// The . + /// The instance. public OpenIddictCoreBuilder ReplaceTokenStoreResolver( Type type, ServiceLifetime lifetime = ServiceLifetime.Scoped) { @@ -630,7 +630,7 @@ public class OpenIddictCoreBuilder /// stores are guaranteed to execute case-sensitive filtering at the database level. /// Disabling this feature MAY result in security vulnerabilities in the other cases. /// - /// The . + /// The instance. public OpenIddictCoreBuilder DisableAdditionalFiltering() => Configure(options => options.DisableAdditionalFiltering = true); @@ -639,14 +639,14 @@ public class OpenIddictCoreBuilder /// Disabling entity caching may have a noticeable impact on the performance /// of your application and result in multiple queries being sent by the stores. /// - /// The . + /// The instance. public OpenIddictCoreBuilder DisableEntityCaching() => Configure(options => options.DisableEntityCaching = true); /// /// Configures OpenIddict to use the specified entity as the default application entity. /// - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultApplicationEntity() where TApplication : class => SetDefaultApplicationEntity(typeof(TApplication)); @@ -654,7 +654,7 @@ public class OpenIddictCoreBuilder /// Configures OpenIddict to use the specified entity as the default application entity. /// /// The application entity type. - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultApplicationEntity(Type type) { if (type is null) @@ -673,7 +673,7 @@ public class OpenIddictCoreBuilder /// /// Configures OpenIddict to use the specified entity as the default authorization entity. /// - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultAuthorizationEntity() where TAuthorization : class => SetDefaultAuthorizationEntity(typeof(TAuthorization)); @@ -681,7 +681,7 @@ public class OpenIddictCoreBuilder /// Configures OpenIddict to use the specified entity as the default authorization entity. /// /// The authorization entity type. - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultAuthorizationEntity(Type type) { if (type is null) @@ -700,7 +700,7 @@ public class OpenIddictCoreBuilder /// /// Configures OpenIddict to use the specified entity as the default scope entity. /// - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultScopeEntity() where TScope : class => SetDefaultScopeEntity(typeof(TScope)); @@ -708,7 +708,7 @@ public class OpenIddictCoreBuilder /// Configures OpenIddict to use the specified entity as the default scope entity. /// /// The scope entity type. - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultScopeEntity(Type type) { if (type is null) @@ -727,7 +727,7 @@ public class OpenIddictCoreBuilder /// /// Configures OpenIddict to use the specified entity as the default token entity. /// - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultTokenEntity() where TToken : class => SetDefaultTokenEntity(typeof(TToken)); @@ -735,7 +735,7 @@ public class OpenIddictCoreBuilder /// Configures OpenIddict to use the specified entity as the default token entity. /// /// The token entity type. - /// The . + /// The instance. public OpenIddictCoreBuilder SetDefaultTokenEntity(Type type) { if (type is null) @@ -756,7 +756,7 @@ public class OpenIddictCoreBuilder /// after which the internal cache is automatically compacted. /// /// The cache limit, in number of entries. - /// The . + /// The instance. public OpenIddictCoreBuilder SetEntityCacheLimit(int limit) { if (limit < 10) diff --git a/src/OpenIddict.Core/OpenIddictCoreExtensions.cs b/src/OpenIddict.Core/OpenIddictCoreExtensions.cs index 9f68a839..484e6d23 100644 --- a/src/OpenIddict.Core/OpenIddictCoreExtensions.cs +++ b/src/OpenIddict.Core/OpenIddictCoreExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictCoreExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictCoreBuilder AddCore(this OpenIddictBuilder builder) { if (builder is null) @@ -97,7 +97,7 @@ public static class OpenIddictCoreExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the core services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictBuilder AddCore(this OpenIddictBuilder builder, Action configuration) { if (builder is null) diff --git a/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkBuilder.cs b/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkBuilder.cs index ea02d3a7..ce8cc7fe 100644 --- a/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkBuilder.cs +++ b/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkBuilder.cs @@ -35,7 +35,7 @@ public class OpenIddictEntityFrameworkBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictEntityFrameworkBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictEntityFrameworkBuilder /// Configures OpenIddict to use the specified entities, derived /// from the default OpenIddict Entity Framework 6.x entities. /// - /// The . + /// The instance. public OpenIddictEntityFrameworkBuilder ReplaceDefaultEntities() where TApplication : OpenIddictEntityFrameworkApplication where TAuthorization : OpenIddictEntityFrameworkAuthorization @@ -84,7 +84,7 @@ public class OpenIddictEntityFrameworkBuilder /// Configures the OpenIddict Entity Framework 6.x stores to use the specified database context type. /// /// The type of the used by OpenIddict. - /// The . + /// The instance. public OpenIddictEntityFrameworkBuilder UseDbContext() where TContext : DbContext => UseDbContext(typeof(TContext)); @@ -93,7 +93,7 @@ public class OpenIddictEntityFrameworkBuilder /// Configures the OpenIddict Entity Framework 6.x stores to use the specified database context type. /// /// The type of the used by OpenIddict. - /// The . + /// The instance. public OpenIddictEntityFrameworkBuilder UseDbContext(Type type) { if (type is null) diff --git a/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs b/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs index b77ca34a..9e5f56e0 100644 --- a/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs +++ b/src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictEntityFrameworkExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictEntityFrameworkBuilder UseEntityFramework(this OpenIddictCoreBuilder builder) { if (builder is null) @@ -64,7 +64,7 @@ public static class OpenIddictEntityFrameworkExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the Entity Framework 6.x services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictCoreBuilder UseEntityFramework( this OpenIddictCoreBuilder builder, Action configuration) { diff --git a/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreBuilder.cs b/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreBuilder.cs index e5f54c24..c79d52ac 100644 --- a/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreBuilder.cs +++ b/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictEntityFrameworkCoreBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictEntityFrameworkCoreBuilder Configure(Action configuration) { if (configuration is null) @@ -51,7 +51,7 @@ public class OpenIddictEntityFrameworkCoreBuilder /// Configures OpenIddict to use the default OpenIddict /// Entity Framework Core entities, with the specified key type. /// - /// The . + /// The instance. public OpenIddictEntityFrameworkCoreBuilder ReplaceDefaultEntities() where TKey : notnull, IEquatable => ReplaceDefaultEntities, @@ -63,7 +63,7 @@ public class OpenIddictEntityFrameworkCoreBuilder /// Configures OpenIddict to use the specified entities, derived /// from the default OpenIddict Entity Framework Core entities. /// - /// The . + /// The instance. public OpenIddictEntityFrameworkCoreBuilder ReplaceDefaultEntities() where TApplication : OpenIddictEntityFrameworkCoreApplication where TAuthorization : OpenIddictEntityFrameworkCoreAuthorization @@ -86,7 +86,7 @@ public class OpenIddictEntityFrameworkCoreBuilder /// Configures the OpenIddict Entity Framework Core stores to use the specified database context type. /// /// The type of the used by OpenIddict. - /// The . + /// The instance. public OpenIddictEntityFrameworkCoreBuilder UseDbContext() where TContext : DbContext => UseDbContext(typeof(TContext)); @@ -95,7 +95,7 @@ public class OpenIddictEntityFrameworkCoreBuilder /// Configures the OpenIddict Entity Framework Core stores to use the specified database context type. /// /// The type of the used by OpenIddict. - /// The . + /// The instance. public OpenIddictEntityFrameworkCoreBuilder UseDbContext(Type type) { if (type is null) diff --git a/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs b/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs index d99b7113..544a6d70 100644 --- a/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs +++ b/src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictEntityFrameworkCoreExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictEntityFrameworkCoreBuilder UseEntityFrameworkCore(this OpenIddictCoreBuilder builder) { if (builder is null) @@ -64,7 +64,7 @@ public static class OpenIddictEntityFrameworkCoreExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the Entity Framework Core services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictCoreBuilder UseEntityFrameworkCore( this OpenIddictCoreBuilder builder, Action configuration) { diff --git a/src/OpenIddict.MongoDb/OpenIddictMongoDbBuilder.cs b/src/OpenIddict.MongoDb/OpenIddictMongoDbBuilder.cs index f6fac7bd..462fa0ca 100644 --- a/src/OpenIddict.MongoDb/OpenIddictMongoDbBuilder.cs +++ b/src/OpenIddict.MongoDb/OpenIddictMongoDbBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictMongoDbBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictMongoDbBuilder Configure(Action configuration) { if (configuration is null) @@ -50,7 +50,7 @@ public class OpenIddictMongoDbBuilder /// /// Configures OpenIddict to use the specified entity as the default application entity. /// - /// The . + /// The instance. public OpenIddictMongoDbBuilder ReplaceDefaultApplicationEntity() where TApplication : OpenIddictMongoDbApplication { @@ -62,7 +62,7 @@ public class OpenIddictMongoDbBuilder /// /// Configures OpenIddict to use the specified entity as the default authorization entity. /// - /// The . + /// The instance. public OpenIddictMongoDbBuilder ReplaceDefaultAuthorizationEntity() where TAuthorization : OpenIddictMongoDbAuthorization { @@ -74,7 +74,7 @@ public class OpenIddictMongoDbBuilder /// /// Configures OpenIddict to use the specified entity as the default scope entity. /// - /// The . + /// The instance. public OpenIddictMongoDbBuilder ReplaceDefaultScopeEntity() where TScope : OpenIddictMongoDbScope { @@ -86,7 +86,7 @@ public class OpenIddictMongoDbBuilder /// /// Configures OpenIddict to use the specified entity as the default token entity. /// - /// The . + /// The instance. public OpenIddictMongoDbBuilder ReplaceDefaultTokenEntity() where TToken : OpenIddictMongoDbToken { @@ -99,7 +99,7 @@ public class OpenIddictMongoDbBuilder /// Replaces the default applications collection name (by default, openiddict.applications). /// /// The collection name - /// The . + /// The instance. public OpenIddictMongoDbBuilder SetApplicationsCollectionName(string name) { if (string.IsNullOrEmpty(name)) @@ -114,7 +114,7 @@ public class OpenIddictMongoDbBuilder /// Replaces the default authorizations collection name (by default, openiddict.authorizations). /// /// The collection name - /// The . + /// The instance. public OpenIddictMongoDbBuilder SetAuthorizationsCollectionName(string name) { if (string.IsNullOrEmpty(name)) @@ -129,7 +129,7 @@ public class OpenIddictMongoDbBuilder /// Replaces the default scopes collection name (by default, openiddict.scopes). /// /// The collection name - /// The . + /// The instance. public OpenIddictMongoDbBuilder SetScopesCollectionName(string name) { if (string.IsNullOrEmpty(name)) @@ -144,7 +144,7 @@ public class OpenIddictMongoDbBuilder /// Replaces the default tokens collection name (by default, openiddict.tokens). /// /// The collection name - /// The . + /// The instance. public OpenIddictMongoDbBuilder SetTokensCollectionName(string name) { if (string.IsNullOrEmpty(name)) @@ -160,7 +160,7 @@ public class OpenIddictMongoDbBuilder /// instead of retrieving it from the dependency injection container. /// /// The . - /// The . + /// The instance. public OpenIddictMongoDbBuilder UseDatabase(IMongoDatabase database) { if (database is null) diff --git a/src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs b/src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs index 6e33434c..3100cf6c 100644 --- a/src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs +++ b/src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictMongoDbExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictMongoDbBuilder UseMongoDb(this OpenIddictCoreBuilder builder) { if (builder is null) @@ -62,7 +62,7 @@ public static class OpenIddictMongoDbExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the MongoDB services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictCoreBuilder UseMongoDb( this OpenIddictCoreBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Quartz/OpenIddictQuartzBuilder.cs b/src/OpenIddict.Quartz/OpenIddictQuartzBuilder.cs index 086db9d7..390c0fbe 100644 --- a/src/OpenIddict.Quartz/OpenIddictQuartzBuilder.cs +++ b/src/OpenIddict.Quartz/OpenIddictQuartzBuilder.cs @@ -32,7 +32,7 @@ public class OpenIddictQuartzBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictQuartzBuilder Configure(Action configuration) { if (configuration is null) @@ -48,14 +48,14 @@ public class OpenIddictQuartzBuilder /// /// Disables authorizations pruning. /// - /// The . + /// The instance. public OpenIddictQuartzBuilder DisableAuthorizationPruning() => Configure(options => options.DisableAuthorizationPruning = true); /// /// Disables tokens pruning. /// - /// The . + /// The instance. public OpenIddictQuartzBuilder DisableTokenPruning() => Configure(options => options.DisableTokenPruning = true); @@ -63,7 +63,7 @@ public class OpenIddictQuartzBuilder /// Sets the number of times a failed Quartz.NET job can be retried. /// /// The number of times a failed Quartz.NET job can be retried. - /// The . + /// The instance. public OpenIddictQuartzBuilder SetMaximumRefireCount(int count) { if (count < 0) @@ -78,7 +78,7 @@ public class OpenIddictQuartzBuilder /// Sets the minimum lifespan authorizations must have to be pruned. /// /// The minimum lifespan authorizations must have to be pruned. - /// The . + /// The instance. public OpenIddictQuartzBuilder SetMinimumAuthorizationLifespan(TimeSpan lifespan) { if (lifespan < TimeSpan.FromMinutes(10)) @@ -93,7 +93,7 @@ public class OpenIddictQuartzBuilder /// Sets the minimum lifespan tokens must have to be pruned. /// /// The minimum lifespan tokens must have to be pruned. - /// The . + /// The instance. public OpenIddictQuartzBuilder SetMinimumTokenLifespan(TimeSpan lifespan) { if (lifespan < TimeSpan.FromMinutes(10)) diff --git a/src/OpenIddict.Quartz/OpenIddictQuartzExtensions.cs b/src/OpenIddict.Quartz/OpenIddictQuartzExtensions.cs index d65f3f10..bd80cfd3 100644 --- a/src/OpenIddict.Quartz/OpenIddictQuartzExtensions.cs +++ b/src/OpenIddict.Quartz/OpenIddictQuartzExtensions.cs @@ -20,7 +20,7 @@ public static class OpenIddictQuartzExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictQuartzBuilder UseQuartz(this OpenIddictCoreBuilder builder) { if (builder is null) @@ -47,7 +47,7 @@ public static class OpenIddictQuartzExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the Quartz.NET services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictCoreBuilder UseQuartz( this OpenIddictCoreBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreBuilder.cs b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreBuilder.cs index 68861785..5c63943b 100644 --- a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreBuilder.cs +++ b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreBuilder.cs @@ -35,7 +35,7 @@ public class OpenIddictServerAspNetCoreBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder Configure(Action configuration) { if (configuration is null) @@ -51,7 +51,7 @@ public class OpenIddictServerAspNetCoreBuilder /// /// Disables the transport security requirement (HTTPS). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder DisableTransportSecurityRequirement() => Configure(options => options.DisableTransportSecurityRequirement = true); @@ -61,7 +61,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableAuthorizationEndpointPassthrough() => Configure(options => options.EnableAuthorizationEndpointPassthrough = true); @@ -74,7 +74,7 @@ public class OpenIddictServerAspNetCoreBuilder /// /// Important: the error pass-through mode cannot be used when the status code pages integration is enabled. /// - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerAspNetCoreBuilder EnableErrorPassthrough() => Configure(options => options.EnableErrorPassthrough = true); @@ -85,7 +85,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableLogoutEndpointPassthrough() => Configure(options => options.EnableLogoutEndpointPassthrough = true); @@ -95,7 +95,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableTokenEndpointPassthrough() => Configure(options => options.EnableTokenEndpointPassthrough = true); @@ -105,7 +105,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableUserinfoEndpointPassthrough() => Configure(options => options.EnableUserinfoEndpointPassthrough = true); @@ -115,7 +115,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableVerificationEndpointPassthrough() => Configure(options => options.EnableVerificationEndpointPassthrough = true); @@ -126,7 +126,7 @@ public class OpenIddictServerAspNetCoreBuilder /// when using external authentication providers or when large GET or POST /// OpenID Connect authorization requests support is required. /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableAuthorizationRequestCaching() => Configure(options => options.EnableAuthorizationRequestCaching = true); @@ -134,7 +134,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Enables logout request caching, so that logout requests /// are automatically stored in the distributed cache. /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableLogoutRequestCaching() => Configure(options => options.EnableLogoutRequestCaching = true); @@ -142,7 +142,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Enables status code pages integration support. Once enabled, errors /// generated by the interactive endpoints can be handled by ASP.NET Core. /// - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder EnableStatusCodePagesIntegration() => Configure(options => options.EnableStatusCodePagesIntegration = true); @@ -150,7 +150,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Sets the realm returned to the caller as part of the WWW-Authenticate header. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder SetRealm(string realm) { if (string.IsNullOrEmpty(realm)) @@ -166,7 +166,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Note: the specified policy is only used when caching is explicitly enabled. /// /// The caching policy. - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder SetAuthorizationRequestCachingPolicy(DistributedCacheEntryOptions policy) { if (policy is null) @@ -182,7 +182,7 @@ public class OpenIddictServerAspNetCoreBuilder /// Note: the specified policy is only used when caching is explicitly enabled. /// /// The caching policy. - /// The . + /// The instance. public OpenIddictServerAspNetCoreBuilder SetLogoutRequestCachingPolicy(DistributedCacheEntryOptions policy) { if (policy is null) diff --git a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreExtensions.cs b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreExtensions.cs index 7a871d84..7c8931b1 100644 --- a/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreExtensions.cs +++ b/src/OpenIddict.Server.AspNetCore/OpenIddictServerAspNetCoreExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictServerAspNetCoreExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerAspNetCoreBuilder UseAspNetCore(this OpenIddictServerBuilder builder) { if (builder is null) @@ -71,7 +71,7 @@ public static class OpenIddictServerAspNetCoreExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the server services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerBuilder UseAspNetCore( this OpenIddictServerBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionBuilder.cs b/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionBuilder.cs index 8a084c5b..46384629 100644 --- a/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionBuilder.cs +++ b/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictServerDataProtectionBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictServerDataProtectionBuilder /// instead of relying on the default instance provided by the DI container. /// /// The data protection provider used to create token protectors. - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder UseDataProtectionProvider(IDataProtectionProvider provider) { if (provider is null) @@ -67,7 +67,7 @@ public class OpenIddictServerDataProtectionBuilder /// Configures OpenIddict to use a specific formatter instead of relying on the default instance. /// /// The formatter used to read and write tokens. - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder UseFormatter(IOpenIddictServerDataProtectionFormatter formatter) { if (formatter is null) @@ -81,35 +81,35 @@ public class OpenIddictServerDataProtectionBuilder /// /// Configures OpenIddict to use the default token format (JWT) when issuing new access tokens. /// - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder PreferDefaultAccessTokenFormat() => Configure(options => options.PreferDefaultAccessTokenFormat = true); /// /// Configures OpenIddict to use the default token format (JWT) when issuing new authorization codes. /// - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder PreferDefaultAuthorizationCodeFormat() => Configure(options => options.PreferDefaultAuthorizationCodeFormat = true); /// /// Configures OpenIddict to use the default token format (JWT) when issuing new device codes. /// - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder PreferDefaultDeviceCodeFormat() => Configure(options => options.PreferDefaultDeviceCodeFormat = true); /// /// Configures OpenIddict to use the default token format (JWT) when issuing new refresh tokens. /// - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder PreferDefaultRefreshTokenFormat() => Configure(options => options.PreferDefaultRefreshTokenFormat = true); /// /// Configures OpenIddict to use the default token format (JWT) when issuing new user codes. /// - /// The . + /// The instance. public OpenIddictServerDataProtectionBuilder PreferDefaultUserCodeFormat() => Configure(options => options.PreferDefaultUserCodeFormat = true); diff --git a/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionExtensions.cs b/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionExtensions.cs index a95c78ec..fa5f98b9 100644 --- a/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionExtensions.cs +++ b/src/OpenIddict.Server.DataProtection/OpenIddictServerDataProtectionExtensions.cs @@ -22,7 +22,7 @@ public static class OpenIddictServerDataProtectionExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerDataProtectionBuilder UseDataProtection(this OpenIddictServerBuilder builder) { if (builder is null) @@ -56,7 +56,7 @@ public static class OpenIddictServerDataProtectionExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the server services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerBuilder UseDataProtection( this OpenIddictServerBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Server.Owin/OpenIddictServerOwinBuilder.cs b/src/OpenIddict.Server.Owin/OpenIddictServerOwinBuilder.cs index 77ca4e02..029ef8ba 100644 --- a/src/OpenIddict.Server.Owin/OpenIddictServerOwinBuilder.cs +++ b/src/OpenIddict.Server.Owin/OpenIddictServerOwinBuilder.cs @@ -35,7 +35,7 @@ public class OpenIddictServerOwinBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictServerOwinBuilder Configure(Action configuration) { if (configuration is null) @@ -51,7 +51,7 @@ public class OpenIddictServerOwinBuilder /// /// Disables the transport security requirement (HTTPS). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder DisableTransportSecurityRequirement() => Configure(options => options.DisableTransportSecurityRequirement = true); @@ -61,7 +61,7 @@ public class OpenIddictServerOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableAuthorizationEndpointPassthrough() => Configure(options => options.EnableAuthorizationEndpointPassthrough = true); @@ -71,7 +71,7 @@ public class OpenIddictServerOwinBuilder /// When this option is enabled, special logic must be added to these actions to handle errors, that can be /// retrieved using /// - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerOwinBuilder EnableErrorPassthrough() => Configure(options => options.EnableErrorPassthrough = true); @@ -82,7 +82,7 @@ public class OpenIddictServerOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableLogoutEndpointPassthrough() => Configure(options => options.EnableLogoutEndpointPassthrough = true); @@ -92,7 +92,7 @@ public class OpenIddictServerOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableTokenEndpointPassthrough() => Configure(options => options.EnableTokenEndpointPassthrough = true); @@ -102,7 +102,7 @@ public class OpenIddictServerOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableUserinfoEndpointPassthrough() => Configure(options => options.EnableUserinfoEndpointPassthrough = true); @@ -112,7 +112,7 @@ public class OpenIddictServerOwinBuilder /// Once validated, the rest of the request processing pipeline is invoked, so that OpenID Connect requests /// can be handled at a later stage (in a custom middleware or in a MVC controller, for instance). /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableVerificationEndpointPassthrough() => Configure(options => options.EnableVerificationEndpointPassthrough = true); @@ -123,7 +123,7 @@ public class OpenIddictServerOwinBuilder /// when using external authentication providers or when large GET or POST /// OpenID Connect authorization requests support is required. /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableAuthorizationRequestCaching() => Configure(options => options.EnableAuthorizationRequestCaching = true); @@ -131,7 +131,7 @@ public class OpenIddictServerOwinBuilder /// Enables logout request caching, so that logout requests /// are automatically stored in the distributed cache. /// - /// The . + /// The instance. public OpenIddictServerOwinBuilder EnableLogoutRequestCaching() => Configure(options => options.EnableLogoutRequestCaching = true); @@ -139,7 +139,7 @@ public class OpenIddictServerOwinBuilder /// Sets the realm returned to the caller as part of the WWW-Authenticate header. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictServerOwinBuilder SetRealm(string realm) { if (string.IsNullOrEmpty(realm)) @@ -155,7 +155,7 @@ public class OpenIddictServerOwinBuilder /// Note: the specified policy is only used when caching is explicitly enabled. /// /// The caching policy. - /// The . + /// The instance. public OpenIddictServerOwinBuilder SetAuthorizationRequestCachingPolicy(DistributedCacheEntryOptions policy) { if (policy is null) @@ -171,7 +171,7 @@ public class OpenIddictServerOwinBuilder /// Note: the specified policy is only used when caching is explicitly enabled. /// /// The caching policy. - /// The . + /// The instance. public OpenIddictServerOwinBuilder SetLogoutRequestCachingPolicy(DistributedCacheEntryOptions policy) { if (policy is null) diff --git a/src/OpenIddict.Server.Owin/OpenIddictServerOwinExtensions.cs b/src/OpenIddict.Server.Owin/OpenIddictServerOwinExtensions.cs index 608e3ad9..b934e622 100644 --- a/src/OpenIddict.Server.Owin/OpenIddictServerOwinExtensions.cs +++ b/src/OpenIddict.Server.Owin/OpenIddictServerOwinExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictServerOwinExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerOwinBuilder UseOwin(this OpenIddictServerBuilder builder) { if (builder is null) @@ -69,7 +69,7 @@ public static class OpenIddictServerOwinExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the server services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerBuilder UseOwin( this OpenIddictServerBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Server.Owin/OpenIddictServerOwinHelpers.cs b/src/OpenIddict.Server.Owin/OpenIddictServerOwinHelpers.cs index a4af54ae..24389ecb 100644 --- a/src/OpenIddict.Server.Owin/OpenIddictServerOwinHelpers.cs +++ b/src/OpenIddict.Server.Owin/OpenIddictServerOwinHelpers.cs @@ -20,7 +20,7 @@ public static class OpenIddictServerOwinHelpers /// middleware resolution (like Autofac), calling this method is NOT recommended. /// /// The application builder used to register middleware instances. - /// The . + /// The instance. public static IAppBuilder UseOpenIddictServer(this IAppBuilder app) { if (app is null) diff --git a/src/OpenIddict.Server/OpenIddictServerBuilder.cs b/src/OpenIddict.Server/OpenIddictServerBuilder.cs index 000ce0b6..02bab5a6 100644 --- a/src/OpenIddict.Server/OpenIddictServerBuilder.cs +++ b/src/OpenIddict.Server/OpenIddictServerBuilder.cs @@ -39,7 +39,7 @@ public class OpenIddictServerBuilder /// /// The event context type. /// The configuration delegate. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerBuilder AddEventHandler( Action> configuration) @@ -63,7 +63,7 @@ public class OpenIddictServerBuilder /// Registers an event handler using the specified descriptor. /// /// The handler descriptor. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerBuilder AddEventHandler(OpenIddictServerHandlerDescriptor descriptor) { @@ -82,7 +82,7 @@ public class OpenIddictServerBuilder /// Removes the event handler that matches the specified descriptor. /// /// The descriptor corresponding to the handler to remove. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerBuilder RemoveEventHandler(OpenIddictServerHandlerDescriptor descriptor) { @@ -112,7 +112,7 @@ public class OpenIddictServerBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictServerBuilder Configure(Action configuration) { if (configuration is null) @@ -130,7 +130,7 @@ public class OpenIddictServerBuilder /// requests that don't specify a client_id are not automatically rejected. /// Enabling this option is NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder AcceptAnonymousClients() => Configure(options => options.AcceptAnonymousClients = true); @@ -138,7 +138,7 @@ public class OpenIddictServerBuilder /// Registers encryption credentials. /// /// The encrypting credentials. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCredentials(EncryptingCredentials credentials) { if (credentials is null) @@ -153,7 +153,7 @@ public class OpenIddictServerBuilder /// Registers an encryption key. /// /// The security key. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionKey(SecurityKey key) { if (key is null) @@ -191,7 +191,7 @@ public class OpenIddictServerBuilder /// /// Registers (and generates if necessary) a user-specific development encryption certificate. /// - /// The . + /// The instance. public OpenIddictServerBuilder AddDevelopmentEncryptionCertificate() => AddDevelopmentEncryptionCertificate(new X500DistinguishedName("CN=OpenIddict Server Encryption Certificate")); @@ -199,7 +199,7 @@ public class OpenIddictServerBuilder /// Registers (and generates if necessary) a user-specific development encryption certificate. /// /// The subject name associated with the certificate. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictServerBuilder AddDevelopmentEncryptionCertificate(X500DistinguishedName subject) @@ -278,7 +278,7 @@ public class OpenIddictServerBuilder /// automatically invalidated. This method should only be used during development. /// On production, using a X.509 certificate stored in the machine store is recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder AddEphemeralEncryptionKey() => AddEphemeralEncryptionKey(SecurityAlgorithms.RsaOAEP); @@ -289,7 +289,7 @@ public class OpenIddictServerBuilder /// On production, using a X.509 certificate stored in the machine store is recommended. /// /// The algorithm associated with the encryption key. - /// The . + /// The instance. public OpenIddictServerBuilder AddEphemeralEncryptionKey(string algorithm) { if (string.IsNullOrEmpty(algorithm)) @@ -362,7 +362,7 @@ public class OpenIddictServerBuilder /// Registers an encryption certificate. /// /// The encryption certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate(X509Certificate2 certificate) { if (certificate is null) @@ -395,7 +395,7 @@ public class OpenIddictServerBuilder /// The assembly containing the certificate. /// The name of the embedded resource. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate(Assembly assembly, string resource, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -413,7 +413,7 @@ public class OpenIddictServerBuilder /// The name of the embedded resource. /// The password used to open the certificate. /// An enumeration of flags indicating how and where to store the private key of the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate( Assembly assembly, string resource, string? password, X509KeyStorageFlags flags) @@ -439,7 +439,7 @@ public class OpenIddictServerBuilder /// /// The stream containing the certificate. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate(Stream stream, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -459,7 +459,7 @@ public class OpenIddictServerBuilder /// An enumeration of flags indicating how and where /// to store the private key of the certificate. /// - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictServerBuilder AddEncryptionCertificate(Stream stream, string? password, X509KeyStorageFlags flags) @@ -479,7 +479,7 @@ public class OpenIddictServerBuilder /// Registers an encryption certificate retrieved from the X.509 user or machine store. /// /// The thumbprint of the certificate used to identify it in the X.509 store. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate(string thumbprint) { if (string.IsNullOrEmpty(thumbprint)) @@ -509,7 +509,7 @@ public class OpenIddictServerBuilder /// The thumbprint of the certificate used to identify it in the X.509 store. /// The name of the X.509 store. /// The location of the X.509 store. - /// The . + /// The instance. public OpenIddictServerBuilder AddEncryptionCertificate(string thumbprint, StoreName name, StoreLocation location) { if (string.IsNullOrEmpty(thumbprint)) @@ -530,7 +530,7 @@ public class OpenIddictServerBuilder /// Registers signing credentials. /// /// The signing credentials. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCredentials(SigningCredentials credentials) { if (credentials is null) @@ -545,7 +545,7 @@ public class OpenIddictServerBuilder /// Registers a signing key. /// /// The security key. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningKey(SecurityKey key) { if (key is null) @@ -601,7 +601,7 @@ public class OpenIddictServerBuilder /// /// Registers (and generates if necessary) a user-specific development signing certificate. /// - /// The . + /// The instance. public OpenIddictServerBuilder AddDevelopmentSigningCertificate() => AddDevelopmentSigningCertificate(new X500DistinguishedName("CN=OpenIddict Server Signing Certificate")); @@ -609,7 +609,7 @@ public class OpenIddictServerBuilder /// Registers (and generates if necessary) a user-specific development signing certificate. /// /// The subject name associated with the certificate. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictServerBuilder AddDevelopmentSigningCertificate(X500DistinguishedName subject) @@ -688,7 +688,7 @@ public class OpenIddictServerBuilder /// automatically invalidated. This method should only be used during development. /// On production, using a X.509 certificate stored in the machine store is recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder AddEphemeralSigningKey() => AddEphemeralSigningKey(SecurityAlgorithms.RsaSha256); @@ -699,7 +699,7 @@ public class OpenIddictServerBuilder /// On production, using a X.509 certificate stored in the machine store is recommended. /// /// The algorithm associated with the signing key. - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictServerBuilder AddEphemeralSigningKey(string algorithm) @@ -790,7 +790,7 @@ public class OpenIddictServerBuilder /// Registers a signing certificate. /// /// The signing certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate(X509Certificate2 certificate) { if (certificate is null) @@ -823,7 +823,7 @@ public class OpenIddictServerBuilder /// The assembly containing the certificate. /// The name of the embedded resource. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate(Assembly assembly, string resource, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -841,7 +841,7 @@ public class OpenIddictServerBuilder /// The name of the embedded resource. /// The password used to open the certificate. /// An enumeration of flags indicating how and where to store the private key of the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate( Assembly assembly, string resource, string? password, X509KeyStorageFlags flags) @@ -867,7 +867,7 @@ public class OpenIddictServerBuilder /// /// The stream containing the certificate. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate(Stream stream, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -887,7 +887,7 @@ public class OpenIddictServerBuilder /// An enumeration of flags indicating how and where /// to store the private key of the certificate. /// - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictServerBuilder AddSigningCertificate(Stream stream, string? password, X509KeyStorageFlags flags) @@ -907,7 +907,7 @@ public class OpenIddictServerBuilder /// Registers a signing certificate retrieved from the X.509 user or machine store. /// /// The thumbprint of the certificate used to identify it in the X.509 store. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate(string thumbprint) { if (string.IsNullOrEmpty(thumbprint)) @@ -937,7 +937,7 @@ public class OpenIddictServerBuilder /// The thumbprint of the certificate used to identify it in the X.509 store. /// The name of the X.509 store. /// The location of the X.509 store. - /// The . + /// The instance. public OpenIddictServerBuilder AddSigningCertificate(string thumbprint, StoreName name, StoreLocation location) { if (string.IsNullOrEmpty(thumbprint)) @@ -961,7 +961,7 @@ public class OpenIddictServerBuilder /// https://tools.ietf.org/html/rfc6749#section-4.1 and /// http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowAuthorizationCodeFlow() => Configure(options => { @@ -980,7 +980,7 @@ public class OpenIddictServerBuilder /// Enables client credentials flow support. For more information about this /// specific OAuth 2.0 flow, visit https://tools.ietf.org/html/rfc6749#section-4.4. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowClientCredentialsFlow() => Configure(options => options.GrantTypes.Add(GrantTypes.ClientCredentials)); @@ -988,7 +988,7 @@ public class OpenIddictServerBuilder /// Enables custom grant type support. /// /// The grant type associated with the flow. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerBuilder AllowCustomFlow(string type) { @@ -1004,7 +1004,7 @@ public class OpenIddictServerBuilder /// Enables device code flow support. For more information about this /// specific OAuth 2.0 flow, visit https://tools.ietf.org/html/rfc8628. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowDeviceCodeFlow() => Configure(options => options.GrantTypes.Add(GrantTypes.DeviceCode)); @@ -1013,7 +1013,7 @@ public class OpenIddictServerBuilder /// about this specific OpenID Connect flow, visit /// http://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowHybridFlow() => Configure(options => { @@ -1040,7 +1040,7 @@ public class OpenIddictServerBuilder /// The implicit flow is not recommended for new applications and should /// only be enabled when maintaining backward compatibility is important. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowImplicitFlow() => Configure(options => { @@ -1058,7 +1058,7 @@ public class OpenIddictServerBuilder /// Enables none flow support. For more information about this specific OAuth 2.0 flow, /// visit https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#none. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowNoneFlow() => Configure(options => options.ResponseTypes.Add(ResponseTypes.None)); @@ -1070,7 +1070,7 @@ public class OpenIddictServerBuilder /// The password flow is not recommended for new applications and should /// only be enabled when maintaining backward compatibility is important. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowPasswordFlow() => Configure(options => options.GrantTypes.Add(GrantTypes.Password)); @@ -1078,7 +1078,7 @@ public class OpenIddictServerBuilder /// Enables refresh token flow support. For more information about this /// specific OAuth 2.0 flow, visit https://tools.ietf.org/html/rfc6749#section-6. /// - /// The . + /// The instance. public OpenIddictServerBuilder AllowRefreshTokenFlow() => Configure(options => { @@ -1093,7 +1093,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetAuthorizationEndpointUris(params string[] addresses) { if (addresses is null) @@ -1110,7 +1110,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetAuthorizationEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1141,7 +1141,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetConfigurationEndpointUris(params string[] addresses) { if (addresses is null) @@ -1158,7 +1158,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetConfigurationEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1189,7 +1189,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetCryptographyEndpointUris(params string[] addresses) { if (addresses is null) @@ -1206,7 +1206,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetCryptographyEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1237,7 +1237,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetDeviceEndpointUris(params string[] addresses) { if (addresses is null) @@ -1254,7 +1254,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetDeviceEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1285,7 +1285,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetIntrospectionEndpointUris(params string[] addresses) { if (addresses is null) @@ -1302,7 +1302,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetIntrospectionEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1333,7 +1333,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetLogoutEndpointUris(params string[] addresses) { if (addresses is null) @@ -1350,7 +1350,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetLogoutEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1381,7 +1381,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetRevocationEndpointUris(params string[] addresses) { if (addresses is null) @@ -1398,7 +1398,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetRevocationEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1429,7 +1429,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetTokenEndpointUris(params string[] addresses) { if (addresses is null) @@ -1446,7 +1446,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetTokenEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1477,7 +1477,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetUserinfoEndpointUris(params string[] addresses) { if (addresses is null) @@ -1494,7 +1494,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned as part of the discovery document. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetUserinfoEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1525,7 +1525,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned by the device endpoint. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetVerificationEndpointUris(params string[] addresses) { if (addresses is null) @@ -1542,7 +1542,7 @@ public class OpenIddictServerBuilder /// Note: only the first address will be returned by the device endpoint. /// /// The addresses associated to the endpoint. - /// The . + /// The instance. public OpenIddictServerBuilder SetVerificationEndpointUris(params Uri[] addresses) { if (addresses is null) @@ -1572,7 +1572,7 @@ public class OpenIddictServerBuilder /// Disabling encryption is NOT recommended and SHOULD only be done when issuing tokens /// to third-party resource servers/APIs you don't control and don't fully trust. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableAccessTokenEncryption() => Configure(options => options.DisableAccessTokenEncryption = true); @@ -1582,7 +1582,7 @@ public class OpenIddictServerBuilder /// and can't be revoked to prevent associated tokens from being used. /// Using this option is generally NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableAuthorizationStorage() => Configure(options => options.DisableAuthorizationStorage = true); @@ -1592,7 +1592,7 @@ public class OpenIddictServerBuilder /// as redeemed and can still be used until they expire. Disabling /// rolling refresh tokens is NOT recommended, for security reasons. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableRollingRefreshTokens() => Configure(options => options.DisableRollingRefreshTokens = true); @@ -1600,7 +1600,7 @@ public class OpenIddictServerBuilder /// Allows processing authorization and token requests that specify scopes that have not /// been registered using or the scope manager. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableScopeValidation() => Configure(options => options.DisableScopeValidation = true); @@ -1609,7 +1609,7 @@ public class OpenIddictServerBuilder /// are issued with a fixed expiration date: when they expire, a complete /// authorization flow must be started to retrieve a new refresh token. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableSlidingRefreshTokenExpiration() => Configure(options => options.DisableSlidingRefreshTokenExpiration = true); @@ -1621,7 +1621,7 @@ public class OpenIddictServerBuilder /// Note: disabling token storage requires disabling sliding /// expiration or enabling rolling tokens. /// - /// The . + /// The instance. public OpenIddictServerBuilder DisableTokenStorage() => Configure(options => options.DisableTokenStorage = true); @@ -1630,7 +1630,7 @@ public class OpenIddictServerBuilder /// depend on the OpenIddict core managers are disabled. This option MUST be enabled with extreme /// caution and custom handlers MUST be registered to properly validate OpenID Connect requests. /// - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictServerBuilder EnableDegradedMode() => Configure(options => options.EnableDegradedMode = true); @@ -1638,28 +1638,28 @@ public class OpenIddictServerBuilder /// /// Disables endpoint permissions enforcement. Calling this method is NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder IgnoreEndpointPermissions() => Configure(options => options.IgnoreEndpointPermissions = true); /// /// Disables grant type permissions enforcement. Calling this method is NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder IgnoreGrantTypePermissions() => Configure(options => options.IgnoreGrantTypePermissions = true); /// /// Disables response type permissions enforcement. Calling this method is NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder IgnoreResponseTypePermissions() => Configure(options => options.IgnoreResponseTypePermissions = true); /// /// Disables scope permissions enforcement. Calling this method is NOT recommended. /// - /// The . + /// The instance. public OpenIddictServerBuilder IgnoreScopePermissions() => Configure(options => options.IgnoreScopePermissions = true); @@ -1668,7 +1668,7 @@ public class OpenIddictServerBuilder /// they can be returned as part of the discovery document. /// /// The supported claims. - /// The . + /// The instance. public OpenIddictServerBuilder RegisterClaims(params string[] claims) { if (claims is null) @@ -1689,7 +1689,7 @@ public class OpenIddictServerBuilder /// they can be returned as part of the discovery document. /// /// The supported scopes. - /// The . + /// The instance. public OpenIddictServerBuilder RegisterScopes(params string[] scopes) { if (scopes is null) @@ -1710,7 +1710,7 @@ public class OpenIddictServerBuilder /// (PKCE) when requesting an authorization code (e.g when using the code or hybrid flows). /// When enforced, authorization requests that lack the code_challenge will be rejected. /// - /// The . + /// The instance. public OpenIddictServerBuilder RequireProofKeyForCodeExchange() => Configure(options => options.RequireProofKeyForCodeExchange = true); @@ -1722,7 +1722,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue tokens that never expire. /// /// The access token lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetAccessTokenLifetime(TimeSpan? lifetime) => Configure(options => options.AccessTokenLifetime = lifetime); @@ -1733,7 +1733,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue codes that never expire. /// /// The authorization code lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetAuthorizationCodeLifetime(TimeSpan? lifetime) => Configure(options => options.AuthorizationCodeLifetime = lifetime); @@ -1744,7 +1744,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue codes that never expire. /// /// The authorization code lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetDeviceCodeLifetime(TimeSpan? lifetime) => Configure(options => options.DeviceCodeLifetime = lifetime); @@ -1754,7 +1754,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue tokens that never expire. /// /// The identity token lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetIdentityTokenLifetime(TimeSpan? lifetime) => Configure(options => options.IdentityTokenLifetime = lifetime); @@ -1766,7 +1766,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue tokens that never expire. /// /// The refresh token lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetRefreshTokenLifetime(TimeSpan? lifetime) => Configure(options => options.RefreshTokenLifetime = lifetime); @@ -1775,7 +1775,7 @@ public class OpenIddictServerBuilder /// as redeemed can still be used to make concurrent refresh token requests. /// /// The refresh token reuse interval. - /// The . + /// The instance. public OpenIddictServerBuilder SetRefreshTokenReuseLeeway(TimeSpan? leeway) => Configure(options => options.RefreshTokenReuseLeeway = leeway); @@ -1785,7 +1785,7 @@ public class OpenIddictServerBuilder /// While discouraged, can be specified to issue codes that never expire. /// /// The authorization code lifetime. - /// The . + /// The instance. public OpenIddictServerBuilder SetUserCodeLifetime(TimeSpan? lifetime) => Configure(options => options.UserCodeLifetime = lifetime); @@ -1794,7 +1794,7 @@ public class OpenIddictServerBuilder /// for the endpoint URIs returned from the discovery endpoint. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictServerBuilder SetIssuer(Uri address) { if (address is null) @@ -1812,7 +1812,7 @@ public class OpenIddictServerBuilder /// but it is RECOMMENDED to enable column encryption in the database or use the ASP.NET Core /// Data Protection integration, that provides additional protection against token leakage. /// - /// The . + /// The instance. public OpenIddictServerBuilder UseReferenceAccessTokens() => Configure(options => options.UseReferenceAccessTokens = true); @@ -1823,7 +1823,7 @@ public class OpenIddictServerBuilder /// but it is RECOMMENDED to enable column encryption in the database or use the ASP.NET Core /// Data Protection integration, that provides additional protection against token leakage. /// - /// The . + /// The instance. public OpenIddictServerBuilder UseReferenceRefreshTokens() => Configure(options => options.UseReferenceRefreshTokens = true); diff --git a/src/OpenIddict.Server/OpenIddictServerExtensions.cs b/src/OpenIddict.Server/OpenIddictServerExtensions.cs index 6b1d11b6..612389ae 100644 --- a/src/OpenIddict.Server/OpenIddictServerExtensions.cs +++ b/src/OpenIddict.Server/OpenIddictServerExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictServerExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictServerBuilder AddServer(this OpenIddictBuilder builder) { if (builder is null) @@ -94,7 +94,7 @@ public static class OpenIddictServerExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the server services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictBuilder AddServer(this OpenIddictBuilder builder, Action configuration) { if (builder is null) diff --git a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreBuilder.cs b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreBuilder.cs index ee0f1d49..85749b0c 100644 --- a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreBuilder.cs +++ b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreBuilder.cs @@ -33,7 +33,7 @@ public class OpenIddictValidationAspNetCoreBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationAspNetCoreBuilder Configure(Action configuration) { if (configuration is null) @@ -50,7 +50,7 @@ public class OpenIddictValidationAspNetCoreBuilder /// Sets the realm returned to the caller as part of the WWW-Authenticate header. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictValidationAspNetCoreBuilder SetRealm(string realm) { if (string.IsNullOrEmpty(realm)) diff --git a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreExtensions.cs b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreExtensions.cs index 29a56854..b9f456ea 100644 --- a/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreExtensions.cs +++ b/src/OpenIddict.Validation.AspNetCore/OpenIddictValidationAspNetCoreExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictValidationAspNetCoreExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationAspNetCoreBuilder UseAspNetCore(this OpenIddictValidationBuilder builder) { if (builder is null) @@ -59,7 +59,7 @@ public static class OpenIddictValidationAspNetCoreExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder UseAspNetCore( this OpenIddictValidationBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionBuilder.cs b/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionBuilder.cs index 4f7bc1db..8871525f 100644 --- a/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionBuilder.cs +++ b/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionBuilder.cs @@ -34,7 +34,7 @@ public class OpenIddictValidationDataProtectionBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationDataProtectionBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictValidationDataProtectionBuilder /// instead of relying on the default instance provided by the DI container. /// /// The data protection provider used to create token protectors. - /// The . + /// The instance. public OpenIddictValidationDataProtectionBuilder UseDataProtectionProvider(IDataProtectionProvider provider) { if (provider is null) @@ -67,7 +67,7 @@ public class OpenIddictValidationDataProtectionBuilder /// Configures OpenIddict to use a specific formatter instead of relying on the default instance. /// /// The formatter used to read tokens. - /// The . + /// The instance. public OpenIddictValidationDataProtectionBuilder UseFormatter(IOpenIddictValidationDataProtectionFormatter formatter) { if (formatter is null) diff --git a/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionExtensions.cs b/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionExtensions.cs index 47abc50e..bc7cd2f0 100644 --- a/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionExtensions.cs +++ b/src/OpenIddict.Validation.DataProtection/OpenIddictValidationDataProtectionExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictValidationDataProtectionExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationDataProtectionBuilder UseDataProtection(this OpenIddictValidationBuilder builder) { if (builder is null) @@ -51,7 +51,7 @@ public static class OpenIddictValidationDataProtectionExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder UseDataProtection( this OpenIddictValidationBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinBuilder.cs b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinBuilder.cs index 20af2ae5..89c87509 100644 --- a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinBuilder.cs +++ b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinBuilder.cs @@ -33,7 +33,7 @@ public class OpenIddictValidationOwinBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationOwinBuilder Configure(Action configuration) { if (configuration is null) @@ -57,7 +57,7 @@ public class OpenIddictValidationOwinBuilder /// authentication middleware configured to use active authentication, as both middleware /// will be invoked when handling 401 responses, which will result in invalid responses. /// - /// The . + /// The instance. public OpenIddictValidationOwinBuilder UseActiveAuthentication() => Configure(options => options.AuthenticationMode = AuthenticationMode.Active); @@ -65,7 +65,7 @@ public class OpenIddictValidationOwinBuilder /// Sets the realm returned to the caller as part of the WWW-Authenticate header. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictValidationOwinBuilder SetRealm(string realm) { if (string.IsNullOrEmpty(realm)) diff --git a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinExtensions.cs b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinExtensions.cs index fe5f6bfe..d1756f37 100644 --- a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinExtensions.cs +++ b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictValidationOwinExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationOwinBuilder UseOwin(this OpenIddictValidationBuilder builder) { if (builder is null) @@ -57,7 +57,7 @@ public static class OpenIddictValidationOwinExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder UseOwin( this OpenIddictValidationBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinHelpers.cs b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinHelpers.cs index 45dc5d33..bfe25fcb 100644 --- a/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinHelpers.cs +++ b/src/OpenIddict.Validation.Owin/OpenIddictValidationOwinHelpers.cs @@ -20,7 +20,7 @@ public static class OpenIddictValidationOwinHelpers /// middleware resolution (like Autofac), calling this method is NOT recommended. /// /// The application builder used to register middleware instances. - /// The . + /// The instance. public static IAppBuilder UseOpenIddictValidation(this IAppBuilder app) { if (app is null) diff --git a/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationBuilder.cs b/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationBuilder.cs index be160ea1..c930fbc1 100644 --- a/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationBuilder.cs +++ b/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationBuilder.cs @@ -32,7 +32,7 @@ public class OpenIddictValidationServerIntegrationBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationServerIntegrationBuilder Configure(Action configuration) { if (configuration is null) diff --git a/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationExtensions.cs b/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationExtensions.cs index bd8b74be..86046274 100644 --- a/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationExtensions.cs +++ b/src/OpenIddict.Validation.ServerIntegration/OpenIddictValidationServerIntegrationExtensions.cs @@ -22,7 +22,7 @@ public static class OpenIddictValidationServerIntegrationExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationServerIntegrationBuilder UseLocalServer(this OpenIddictValidationBuilder builder) { if (builder is null) @@ -47,7 +47,7 @@ public static class OpenIddictValidationServerIntegrationExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder UseLocalServer( this OpenIddictValidationBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpBuilder.cs b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpBuilder.cs index d149303f..739d8b3f 100644 --- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpBuilder.cs +++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpBuilder.cs @@ -35,7 +35,7 @@ public class OpenIddictValidationSystemNetHttpBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationSystemNetHttpBuilder Configure(Action configuration) { if (configuration is null) @@ -52,7 +52,7 @@ public class OpenIddictValidationSystemNetHttpBuilder /// Replaces the default HTTP error policy used by the OpenIddict client services. /// /// The HTTP Polly error policy. - /// The . + /// The instance. public OpenIddictValidationSystemNetHttpBuilder SetHttpErrorPolicy(IAsyncPolicy policy) { if (policy is null) @@ -68,7 +68,7 @@ public class OpenIddictValidationSystemNetHttpBuilder /// to the backchannel HTTP requests sent to the authorization server. /// /// The product information. - /// The . + /// The instance. public OpenIddictValidationSystemNetHttpBuilder SetProductInformation(ProductInfoHeaderValue information) { if (information is null) @@ -85,7 +85,7 @@ public class OpenIddictValidationSystemNetHttpBuilder /// /// The product name. /// The product version. - /// The . + /// The instance. public OpenIddictValidationSystemNetHttpBuilder SetProductInformation(string name, string? version) { if (string.IsNullOrEmpty(name)) @@ -102,7 +102,7 @@ public class OpenIddictValidationSystemNetHttpBuilder /// on the identity of the specified .NET assembly (name and version). /// /// The assembly from which the product information is created. - /// The . + /// The instance. public OpenIddictValidationSystemNetHttpBuilder SetProductInformation(Assembly assembly) { if (assembly is null) diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpExtensions.cs b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpExtensions.cs index 92398e04..f6ebe726 100644 --- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpExtensions.cs +++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpExtensions.cs @@ -22,7 +22,7 @@ public static class OpenIddictValidationSystemNetHttpExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationSystemNetHttpBuilder UseSystemNetHttp(this OpenIddictValidationBuilder builder) { if (builder is null) @@ -55,7 +55,7 @@ public static class OpenIddictValidationSystemNetHttpExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder UseSystemNetHttp( this OpenIddictValidationBuilder builder, Action configuration) { diff --git a/src/OpenIddict.Validation/OpenIddictValidationBuilder.cs b/src/OpenIddict.Validation/OpenIddictValidationBuilder.cs index 1ccf2d73..f376c32b 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationBuilder.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationBuilder.cs @@ -38,7 +38,7 @@ public class OpenIddictValidationBuilder /// /// The event context type. /// The configuration delegate. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictValidationBuilder AddEventHandler( Action> configuration) @@ -62,7 +62,7 @@ public class OpenIddictValidationBuilder /// Registers an event handler using the specified descriptor. /// /// The handler descriptor. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictValidationBuilder AddEventHandler(OpenIddictValidationHandlerDescriptor descriptor) { @@ -81,7 +81,7 @@ public class OpenIddictValidationBuilder /// Removes the event handler that matches the specified descriptor. /// /// The descriptor corresponding to the handler to remove. - /// The . + /// The instance. [EditorBrowsable(EditorBrowsableState.Advanced)] public OpenIddictValidationBuilder RemoveEventHandler(OpenIddictValidationHandlerDescriptor descriptor) { @@ -111,7 +111,7 @@ public class OpenIddictValidationBuilder /// /// The delegate used to configure the OpenIddict options. /// This extension can be safely called multiple times. - /// The . + /// The instance. public OpenIddictValidationBuilder Configure(Action configuration) { if (configuration is null) @@ -128,7 +128,7 @@ public class OpenIddictValidationBuilder /// Registers encryption credentials. /// /// The encrypting credentials. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCredentials(EncryptingCredentials credentials) { if (credentials is null) @@ -143,7 +143,7 @@ public class OpenIddictValidationBuilder /// Registers an encryption key. /// /// The security key. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionKey(SecurityKey key) { if (key is null) @@ -177,7 +177,7 @@ public class OpenIddictValidationBuilder /// Registers an encryption certificate. /// /// The encryption certificate. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate(X509Certificate2 certificate) { if (certificate is null) @@ -210,7 +210,7 @@ public class OpenIddictValidationBuilder /// The assembly containing the certificate. /// The name of the embedded resource. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate( Assembly assembly, string resource, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS @@ -229,7 +229,7 @@ public class OpenIddictValidationBuilder /// The name of the embedded resource. /// The password used to open the certificate. /// An enumeration of flags indicating how and where to store the private key of the certificate. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate( Assembly assembly, string resource, string? password, X509KeyStorageFlags flags) @@ -255,7 +255,7 @@ public class OpenIddictValidationBuilder /// /// The stream containing the certificate. /// The password used to open the certificate. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate(Stream stream, string? password) #if SUPPORTS_EPHEMERAL_KEY_SETS // Note: ephemeral key sets are currently not supported on macOS. @@ -275,7 +275,7 @@ public class OpenIddictValidationBuilder /// An enumeration of flags indicating how and where /// to store the private key of the certificate. /// - /// The . + /// The instance. [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The X.509 certificate is attached to the server options.")] public OpenIddictValidationBuilder AddEncryptionCertificate( @@ -296,7 +296,7 @@ public class OpenIddictValidationBuilder /// Registers an encryption certificate retrieved from the X.509 user or machine store. /// /// The thumbprint of the certificate used to identify it in the X.509 store. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate(string thumbprint) { if (string.IsNullOrEmpty(thumbprint)) @@ -326,7 +326,7 @@ public class OpenIddictValidationBuilder /// The thumbprint of the certificate used to identify it in the X.509 store. /// The name of the X.509 store. /// The location of the X.509 store. - /// The . + /// The instance. public OpenIddictValidationBuilder AddEncryptionCertificate( string thumbprint, StoreName name, StoreLocation location) { @@ -350,7 +350,7 @@ public class OpenIddictValidationBuilder /// when the authorization server issues access tokens for multiple distinct resource servers. /// /// The audiences valid for this resource server. - /// The . + /// The instance. public OpenIddictValidationBuilder AddAudiences(params string[] audiences) { if (audiences is null) @@ -372,7 +372,7 @@ public class OpenIddictValidationBuilder /// Note: enabling this option may have an impact on performance and /// can only be used with an OpenIddict-based authorization server. /// - /// The . + /// The instance. public OpenIddictValidationBuilder EnableAuthorizationEntryValidation() => Configure(options => options.EnableAuthorizationEntryValidation = true); @@ -382,7 +382,7 @@ public class OpenIddictValidationBuilder /// Note: enabling this option may have an impact on performance but is required /// when the OpenIddict server is configured to use reference tokens. /// - /// The . + /// The instance. public OpenIddictValidationBuilder EnableTokenEntryValidation() => Configure(options => options.EnableTokenEntryValidation = true); @@ -391,7 +391,7 @@ public class OpenIddictValidationBuilder /// resolve the metadata/introspection endpoints and the issuer signing keys. /// /// The server configuration. - /// The . + /// The instance. public OpenIddictValidationBuilder SetConfiguration(OpenIddictConfiguration configuration) { if (configuration is null) @@ -407,7 +407,7 @@ public class OpenIddictValidationBuilder /// with the remote authorization server (e.g for introspection). /// /// The client identifier. - /// The . + /// The instance. public OpenIddictValidationBuilder SetClientId(string identifier) { if (string.IsNullOrEmpty(identifier)) @@ -423,7 +423,7 @@ public class OpenIddictValidationBuilder /// with the remote authorization server (e.g for introspection). /// /// The client secret. - /// The . + /// The instance. public OpenIddictValidationBuilder SetClientSecret(string secret) { if (string.IsNullOrEmpty(secret)) @@ -439,7 +439,7 @@ public class OpenIddictValidationBuilder /// OAuth 2.0/OpenID Connect configuration document when using provider discovery. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictValidationBuilder SetIssuer(Uri address) { if (address is null) @@ -455,7 +455,7 @@ public class OpenIddictValidationBuilder /// OAuth 2.0/OpenID Connect configuration document when using provider discovery. /// /// The issuer address. - /// The . + /// The instance. public OpenIddictValidationBuilder SetIssuer(string address) { if (string.IsNullOrEmpty(address)) @@ -474,7 +474,7 @@ public class OpenIddictValidationBuilder /// /// Configures OpenIddict to use introspection instead of local/direct validation. /// - /// The . + /// The instance. public OpenIddictValidationBuilder UseIntrospection() => Configure(options => options.ValidationType = OpenIddictValidationType.Introspection); diff --git a/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs b/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs index 769380fe..ab9ff035 100644 --- a/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs +++ b/src/OpenIddict.Validation/OpenIddictValidationExtensions.cs @@ -21,7 +21,7 @@ public static class OpenIddictValidationExtensions /// /// The services builder used by OpenIddict to register new services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictValidationBuilder AddValidation(this OpenIddictBuilder builder) { if (builder is null) @@ -61,7 +61,7 @@ public static class OpenIddictValidationExtensions /// The services builder used by OpenIddict to register new services. /// The configuration delegate used to configure the validation services. /// This extension can be safely called multiple times. - /// The . + /// The instance. public static OpenIddictBuilder AddValidation( this OpenIddictBuilder builder, Action configuration)