Вы можете разрешить ITokenService
из IServiceProvider
в делегате фабрики реализации:
services.AddScoped<IManagementApiClient>(provider =>
new ManagementApiClient(provider.GetRequiredService<ITokenService>().GetToken(), "YOUR_AUTH0_DOMAIN"));
Интересно, а зачем вам конкретный ITokenService
для этого? Не будет ли достаточно извлечь значения из конфигурации? Например:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
private IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IManagementApiClient>(new ManagementApiClient(Configuration["Auth0:Token"], Configuration["Auth0:Domain"]);
// ...
}
}
Вы можете указать эти настройки в appsettings.json:
{
"Auth0": {
"Domain": "your.domain.auth0.com",
"Token": "your token"
}
}