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); builder.UseGrpcEndpoint(DaprOptions.GrpcEndpoint);
} }
var apiToken = DaprApiTokenProvider.Get(); var apiToken = DaprApiTokenProvider.GetDaprApiToken();
if (!apiToken.IsNullOrWhiteSpace()) if (!apiToken.IsNullOrWhiteSpace())
{ {
builder.UseDaprApiToken(apiToken); builder.UseDaprApiToken(apiToken);
@ -62,7 +62,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return DaprClient.CreateInvokeHttpClient( return DaprClient.CreateInvokeHttpClient(
appId, appId,
daprEndpoint, 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 Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Json; using Volo.Abp.Json;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -11,7 +12,8 @@ public class AbpDaprModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = context.Services.GetConfiguration(); var configuration = context.Services.GetConfiguration();
Configure<AbpDaprOptions>(configuration.GetSection("Dapr"));
ConfigureDaprOptions(configuration);
context.Services.TryAddSingleton( context.Services.TryAddSingleton(
serviceProvider => serviceProvider serviceProvider => serviceProvider
@ -19,4 +21,45 @@ public class AbpDaprModule : AbpModule
.Create() .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 GrpcEndpoint { get; set; }
public string DaprApiToken { 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 class DaprApiTokenProvider : IDaprApiTokenProvider, ISingletonDependency
{ {
public AbpDaprOptions Options { get; } protected AbpDaprOptions Options { get; }
public DaprApiTokenProvider(IOptions<AbpDaprOptions> options) public DaprApiTokenProvider(IOptions<AbpDaprOptions> options)
{ {
Options = options.Value; Options = options.Value;
} }
public virtual string Get() public virtual string GetDaprApiToken()
{ {
return Options.DaprApiToken; 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 public interface IDaprApiTokenProvider
{ {
string Get(); string GetDaprApiToken();
string GetAppApiToken();
} }
Loading…
Cancel
Save