diff --git a/src/IdentityServer/Configuration/DependencyInjection/BuilderExtensions/Additional.cs b/src/IdentityServer/Configuration/DependencyInjection/BuilderExtensions/Additional.cs
index 968446ba5..8db4cdbbf 100644
--- a/src/IdentityServer/Configuration/DependencyInjection/BuilderExtensions/Additional.cs
+++ b/src/IdentityServer/Configuration/DependencyInjection/BuilderExtensions/Additional.cs
@@ -492,6 +492,7 @@ public static IHttpClientBuilder AddJwtRequestUriHttpClient(this IIdentityServer
///
/// The builder.
///
+ [Obsolete("This feature is deprecated. Consider using Pushed Authorization Requests instead.")]
public static IIdentityServerBuilder AddAuthorizationParametersMessageStore(this IIdentityServerBuilder builder)
where T : class, IAuthorizationParametersMessageStore
{
diff --git a/src/IdentityServer/Endpoints/Results/AuthorizeInteractionPageResult.cs b/src/IdentityServer/Endpoints/Results/AuthorizeInteractionPageResult.cs
index 429c995a3..0ea7df81e 100644
--- a/src/IdentityServer/Endpoints/Results/AuthorizeInteractionPageResult.cs
+++ b/src/IdentityServer/Endpoints/Results/AuthorizeInteractionPageResult.cs
@@ -74,9 +74,12 @@ public async Task WriteHttpResponse(AuthorizeInteractionPageResult result, HttpC
{
var returnUrl = _urls.BasePath.EnsureTrailingSlash() + ProtocolRoutePaths.AuthorizeCallback;
+ // IAuthorizationParametersMessageStore is deprecated and will be removed someday
if (_authorizationParametersMessageStore != null)
{
+#pragma warning disable CS0618 // Type or member is obsolete
var msg = new Message>(result.Request.ToOptimizedFullDictionary());
+#pragma warning restore CS0618 // Type or member is obsolete
var id = await _authorizationParametersMessageStore.WriteAsync(msg);
returnUrl = returnUrl.AddQueryString(Constants.AuthorizationParamsStore.MessageStoreIdParameterName, id);
}
diff --git a/src/IdentityServer/Extensions/ValidatedAuthorizeRequestExtensions.cs b/src/IdentityServer/Extensions/ValidatedAuthorizeRequestExtensions.cs
index 8b416480f..a43f42bde 100644
--- a/src/IdentityServer/Extensions/ValidatedAuthorizeRequestExtensions.cs
+++ b/src/IdentityServer/Extensions/ValidatedAuthorizeRequestExtensions.cs
@@ -187,6 +187,7 @@ public static string ToOptimizedQueryString(this ValidatedAuthorizeRequest reque
return request.ToOptimizedRawValues().ToQueryString();
}
+ [Obsolete("This method is obsolete and will be removed in a future version.")]
public static IDictionary ToOptimizedFullDictionary(this ValidatedAuthorizeRequest request)
{
return request.ToOptimizedRawValues().ToFullDictionary();
diff --git a/test/IdentityServer.UnitTests/Extensions/ValidatedAuthorizeRequestExtensionsTests.cs b/test/IdentityServer.UnitTests/Extensions/ValidatedAuthorizeRequestExtensionsTests.cs
index 52a6f95b3..dae84bb5e 100644
--- a/test/IdentityServer.UnitTests/Extensions/ValidatedAuthorizeRequestExtensionsTests.cs
+++ b/test/IdentityServer.UnitTests/Extensions/ValidatedAuthorizeRequestExtensionsTests.cs
@@ -2,6 +2,7 @@
// See LICENSE in the project root for license information.
+using System;
using Duende.IdentityServer.Validation;
using IdentityModel;
using Xunit;
@@ -29,6 +30,7 @@ public void GetAcrValues_should_return_snapshot_of_values()
}
[Fact]
+ [Obsolete]
public void ToOptimizedFullDictionary_should_return_dictionary_with_array_for_repeated_keys_when_request_objects_are_used()
{
var request = new ValidatedAuthorizeRequest()