diff --git a/src/OpenIddict.Client/OpenIddictClientModels.cs b/src/OpenIddict.Client/OpenIddictClientModels.cs
index 617a0edb..09c1e852 100644
--- a/src/OpenIddict.Client/OpenIddictClientModels.cs
+++ b/src/OpenIddict.Client/OpenIddictClientModels.cs
@@ -19,11 +19,6 @@ public static class OpenIddictClientModels
///
public sealed record class InteractiveAuthenticationRequest
{
- ///
- /// Gets or sets the parameters that will be added to the token request.
- ///
- public Dictionary? AdditionalTokenRequestParameters { get; init; }
-
///
/// Gets or sets the cancellation token that will be
/// used to determine if the operation was aborted.
@@ -39,11 +34,6 @@ public static class OpenIddictClientModels
/// Gets or sets the application-specific properties that will be added to the context.
///
public Dictionary? Properties { get; init; }
-
- ///
- /// Gets the scopes that will be sent to the authorization server.
- ///
- public List? Scopes { get; init; }
}
///
diff --git a/src/OpenIddict.Client/OpenIddictClientService.cs b/src/OpenIddict.Client/OpenIddictClientService.cs
index 4fdb6e0c..494cfe20 100644
--- a/src/OpenIddict.Client/OpenIddictClientService.cs
+++ b/src/OpenIddict.Client/OpenIddictClientService.cs
@@ -247,6 +247,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)
@@ -521,7 +529,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(),
};
@@ -630,13 +638,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 })