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 })