using MTSC.OAuth2.Models; using Slim.Attributes; using System.Collections.Generic; using System.Net.Http; namespace MTSC.OAuth2.Authorization { internal sealed class ClientSecretAuthorizationProvider : FormAuthorizationProvider { [PreferredConstructor(Priority = 0)] public ClientSecretAuthorizationProvider( AuthorizationOptions options, IHttpClient httpClient) : base(httpClient, options) { } [PreferredConstructor(Priority = 1)] public ClientSecretAuthorizationProvider( AuthorizationOptions options, HttpClient httpClient) : base(httpClient, options) { } [PreferredConstructor(Priority = 2)] public ClientSecretAuthorizationProvider( AuthorizationOptions options) : base(new HttpClient(), options) { } protected override IEnumerable> GetAdditionalFormFields() { return new List> { new KeyValuePair("client_secret", this.Options.ClientSecret) }; } } }