diff --git a/src/OpenIddict.Client/OpenIddictClientModels.cs b/src/OpenIddict.Client/OpenIddictClientModels.cs
index 617a0edb..4a200666 100644
--- a/src/OpenIddict.Client/OpenIddictClientModels.cs
+++ b/src/OpenIddict.Client/OpenIddictClientModels.cs
@@ -22,6 +22,7 @@ public static class OpenIddictClientModels
///
/// Gets or sets the parameters that will be added to the token request.
///
+ [Obsolete("This property is no longer supported and will be removed in a future version.")]
public Dictionary? AdditionalTokenRequestParameters { get; init; }
///
@@ -43,6 +44,7 @@ public static class OpenIddictClientModels
///
/// Gets the scopes that will be sent to the authorization server.
///
+ [Obsolete("This property is no longer supported and will be removed in a future version.")]
public List? Scopes { get; init; }
}
diff --git a/src/OpenIddict.Client/OpenIddictClientService.cs b/src/OpenIddict.Client/OpenIddictClientService.cs
index ffa117a5..96f28aa7 100644
--- a/src/OpenIddict.Client/OpenIddictClientService.cs
+++ b/src/OpenIddict.Client/OpenIddictClientService.cs
@@ -325,6 +325,14 @@ public sealed class OpenIddictClientService
Nonce = request.Nonce
};
+ if (request.Properties is { Count: > 0 })
+ {
+ foreach (var property in request.Properties)
+ {
+ context.Properties[property.Key] = property.Value;
+ }
+ }
+
await dispatcher.DispatchAsync(context);
if (context.IsRejected)
@@ -733,7 +741,7 @@ public sealed class OpenIddictClientService
Issuer = request.Issuer,
ProviderName = request.ProviderName,
RegistrationId = request.RegistrationId,
- Request = request.AdditionalTokenRequestParameters
+ TokenRequest = request.AdditionalTokenRequestParameters
is Dictionary parameters ? new(parameters) : new(),
};
@@ -912,13 +920,13 @@ public sealed class OpenIddictClientService
var context = new ProcessChallengeContext(transaction)
{
CancellationToken = request.CancellationToken,
+ DeviceAuthorizationRequest = request.AdditionalDeviceAuthorizationRequestParameters
+ is Dictionary parameters ? new(parameters) : new(),
GrantType = GrantTypes.DeviceCode,
Issuer = request.Issuer,
Principal = new ClaimsPrincipal(new ClaimsIdentity()),
ProviderName = request.ProviderName,
- RegistrationId = request.RegistrationId,
- Request = request.AdditionalDeviceAuthorizationRequestParameters
- is Dictionary parameters ? new(parameters) : new(),
+ RegistrationId = request.RegistrationId
};
if (request.Scopes is { Count: > 0 })