diff --git a/src/OpenIddict.Core/Stores/IOpenIddictApplicationStore.cs b/src/OpenIddict.Core/Stores/IOpenIddictApplicationStore.cs index b228dd2b..e4380153 100644 --- a/src/OpenIddict.Core/Stores/IOpenIddictApplicationStore.cs +++ b/src/OpenIddict.Core/Stores/IOpenIddictApplicationStore.cs @@ -276,7 +276,7 @@ namespace OpenIddict.Core /// A that can be used to monitor the asynchronous operation. /// Task SetPostLogoutRedirectUrisAsync([NotNull] TApplication application, - [NotNull] ImmutableArray addresses, CancellationToken cancellationToken); + ImmutableArray addresses, CancellationToken cancellationToken); /// /// Sets the callback addresses associated with an application. @@ -288,7 +288,7 @@ namespace OpenIddict.Core /// A that can be used to monitor the asynchronous operation. /// Task SetRedirectUrisAsync([NotNull] TApplication application, - [NotNull] ImmutableArray addresses, CancellationToken cancellationToken); + ImmutableArray addresses, CancellationToken cancellationToken); /// /// Updates an existing application. diff --git a/src/OpenIddict.Core/Stores/OpenIddictApplicationStore.cs b/src/OpenIddict.Core/Stores/OpenIddictApplicationStore.cs index d2f24866..2b9564ff 100644 --- a/src/OpenIddict.Core/Stores/OpenIddictApplicationStore.cs +++ b/src/OpenIddict.Core/Stores/OpenIddictApplicationStore.cs @@ -555,16 +555,18 @@ namespace OpenIddict.Core /// A that can be used to monitor the asynchronous operation. /// public virtual Task SetPostLogoutRedirectUrisAsync([NotNull] TApplication application, - [NotNull] ImmutableArray addresses, CancellationToken cancellationToken) + ImmutableArray addresses, CancellationToken cancellationToken) { if (application == null) { - throw new ArgumentException(nameof(application)); + throw new ArgumentNullException(nameof(application)); } - if (addresses == null) + if (addresses.IsDefaultOrEmpty) { - throw new ArgumentException(nameof(addresses)); + application.PostLogoutRedirectUris = null; + + return Task.CompletedTask; } if (addresses.Any(address => string.IsNullOrEmpty(address))) @@ -592,16 +594,18 @@ namespace OpenIddict.Core /// A that can be used to monitor the asynchronous operation. /// public virtual Task SetRedirectUrisAsync([NotNull] TApplication application, - [NotNull] ImmutableArray addresses, CancellationToken cancellationToken) + ImmutableArray addresses, CancellationToken cancellationToken) { if (application == null) { - throw new ArgumentException(nameof(application)); + throw new ArgumentNullException(nameof(application)); } - if (addresses == null) + if (addresses.IsDefaultOrEmpty) { - throw new ArgumentException(nameof(addresses)); + application.RedirectUris = null; + + return Task.CompletedTask; } if (addresses.Any(address => string.IsNullOrEmpty(address)))