Browse Source

Introduce AbpDaprOptions.AppApiToken

Also set defaults from environment variables.
pull/14015/head
Halil İbrahim Kalkan 4 years ago
parent
commit
655e4d1538
  1. 4
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs
  2. 47
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs
  3. 2
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprOptions.cs
  4. 9
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs
  5. 3
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs

4
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs

@ -37,7 +37,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
builder.UseGrpcEndpoint(DaprOptions.GrpcEndpoint);
}
var apiToken = DaprApiTokenProvider.Get();
var apiToken = DaprApiTokenProvider.GetDaprApiToken();
if (!apiToken.IsNullOrWhiteSpace())
{
builder.UseDaprApiToken(apiToken);
@ -62,7 +62,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return DaprClient.CreateInvokeHttpClient(
appId,
daprEndpoint,
daprApiToken ?? DaprApiTokenProvider.Get()
daprApiToken ?? DaprApiTokenProvider.GetDaprApiToken()
);
}

47
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Json;
using Volo.Abp.Modularity;
@ -11,7 +12,8 @@ public class AbpDaprModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
Configure<AbpDaprOptions>(configuration.GetSection("Dapr"));
ConfigureDaprOptions(configuration);
context.Services.TryAddSingleton(
serviceProvider => serviceProvider
@ -19,4 +21,45 @@ public class AbpDaprModule : AbpModule
.Create()
);
}
private void ConfigureDaprOptions(IConfiguration configuration)
{
Configure<AbpDaprOptions>(configuration.GetSection("Dapr"));
Configure<AbpDaprOptions>(options =>
{
if (options.DaprApiToken.IsNullOrWhiteSpace())
{
var confEnv = configuration["DAPR_API_TOKEN"];
if (!confEnv.IsNullOrWhiteSpace())
{
options.DaprApiToken = confEnv;
}
else
{
var env = Environment.GetEnvironmentVariable("DAPR_API_TOKEN");
if (!env.IsNullOrWhiteSpace())
{
options.DaprApiToken = env;
}
}
}
if (options.AppApiToken.IsNullOrWhiteSpace())
{
var confEnv = configuration["APP_API_TOKEN"];
if (!confEnv.IsNullOrWhiteSpace())
{
options.AppApiToken = confEnv;
}
else
{
var env = Environment.GetEnvironmentVariable("APP_API_TOKEN");
if (!env.IsNullOrWhiteSpace())
{
options.AppApiToken = env;
}
}
}
});
}
}

2
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprOptions.cs

@ -7,4 +7,6 @@ public class AbpDaprOptions
public string GrpcEndpoint { get; set; }
public string DaprApiToken { get; set; }
public string AppApiToken { get; set; }
}

9
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs

@ -5,15 +5,20 @@ namespace Volo.Abp.Dapr;
public class DaprApiTokenProvider : IDaprApiTokenProvider, ISingletonDependency
{
public AbpDaprOptions Options { get; }
protected AbpDaprOptions Options { get; }
public DaprApiTokenProvider(IOptions<AbpDaprOptions> options)
{
Options = options.Value;
}
public virtual string Get()
public virtual string GetDaprApiToken()
{
return Options.DaprApiToken;
}
public virtual string GetAppApiToken()
{
return Options.AppApiToken;
}
}

3
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs

@ -2,5 +2,6 @@ namespace Volo.Abp.Dapr;
public interface IDaprApiTokenProvider
{
string Get();
string GetDaprApiToken();
string GetAppApiToken();
}
Loading…
Cancel
Save