【问题标题】:docker compose environment variable to IConfiguration, how to do?docker compose 环境变量到 IConfiguration,怎么办?
【发布时间】:2020-07-06 05:02:08
【问题描述】:

我正在使用 docker compose 文件来保存所有的环境变量,

environment:
  - Instance=https://login.microsoftonline.com/
  - ClientId=xxxxxxxx

我可以在我的 asp.net 核心 web api 应用程序 statrtup 类中访问这些变量,如下所示,

var instance = Environment.GetEnvironmentVariable("Instance")
var clientId = Environment.GetEnvironmentVariable("ClientId")

statrtup 类中,我可以将IConfiguration 下面的整个类似发送到某个方法,例如,

services.AddProtectedWebApi(Configuration);

它将自动读取我在appsettings.jsonAzureAd部分配置的所有配置

"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"

},

现在我的问题是,我们如何读取环境变量(而不是 appsettings.json)并使用配置部分 AzureAd 准备 IConfiguration

【问题讨论】:

标签: c# docker-compose azure-active-directory environment-variables asp.net-core-3.1


【解决方案1】:

您应该使用以下带前缀的环境变量名称:

environment:
- AzureAd__Instance=https://login.microsoftonline.com/
- AzureAd__ClientId=xxxxxxxx

覆盖appsettings.json

【讨论】:

    猜你喜欢
    • 2015-06-17
    • 2017-06-16
    • 1970-01-01
    • 2022-01-01
    • 2018-02-03
    • 2019-02-25
    • 2022-06-11
    • 2019-07-26
    • 1970-01-01
    相关资源
    最近更新 更多