namespace IdentityShroud.Core.Services.OpenId; public interface ITokenService { Task> Handle( Dictionary form, string? basicAuthUser, string? basicAuthPassword, CancellationToken ct = default); } public class TokenService : ITokenService { public async Task> Handle( Dictionary form, string? basicAuthUser, string? basicAuthPassword, CancellationToken ct = default) { return new(); } public async Task> ClientCredentialsFlow( string clientId, string clientSecret, CancellationToken ct = default) { return new(); } }