Browse Source

Update the client service to attach the additional parameters to the correct request instances

pull/2236/head
Kévin Chalet 3 years ago
parent
commit
f541dcd1f7
  1. 2
      src/OpenIddict.Client/OpenIddictClientModels.cs
  2. 16
      src/OpenIddict.Client/OpenIddictClientService.cs

2
src/OpenIddict.Client/OpenIddictClientModels.cs

@ -22,6 +22,7 @@ public static class OpenIddictClientModels
/// <summary>
/// Gets or sets the parameters that will be added to the token request.
/// </summary>
[Obsolete("This property is no longer supported and will be removed in a future version.")]
public Dictionary<string, OpenIddictParameter>? AdditionalTokenRequestParameters { get; init; }
/// <summary>
@ -43,6 +44,7 @@ public static class OpenIddictClientModels
/// <summary>
/// Gets the scopes that will be sent to the authorization server.
/// </summary>
[Obsolete("This property is no longer supported and will be removed in a future version.")]
public List<string>? Scopes { get; init; }
}

16
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<string, OpenIddictParameter> 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<string, OpenIddictParameter> 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<string, OpenIddictParameter> parameters ? new(parameters) : new(),
RegistrationId = request.RegistrationId
};
if (request.Scopes is { Count: > 0 })

Loading…
Cancel
Save