【发布时间】: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.json的AzureAd部分配置的所有配置
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"
},
现在我的问题是,我们如何读取环境变量(而不是 appsettings.json)并使用配置部分 AzureAd 准备 IConfiguration?
【问题讨论】:
-
您是在问如何制作一个读取环境变量的类,同时实现一个接口(IConfiguration)并将其传递给一个方法?看来您已经知道如何做这些事情了?
-
如何转换来自 env 的 appsettings 的覆盖值。变量
标签: c# docker-compose azure-active-directory environment-variables asp.net-core-3.1