如何在自定义策略中使用“配置文件”?就像appsetting.json
在 ASP.Net Core 中一样。
要配置的东西
TenantId
<LoadUri>
用于自定义 UI
背景:每个环境(Local、Dev、QA、Prod 等)我们都有多个 B2C 租户。我们需要从Local -> Dev -> ...
. 就目前而言,我们必须在推广时修改政策。
我希望有类似从 B2C 应用程序中提取的东西。Keys
如何在自定义策略中使用“配置文件”?就像appsetting.json
在 ASP.Net Core 中一样。
要配置的东西
TenantId
<LoadUri>
用于自定义 UI背景:每个环境(Local、Dev、QA、Prod 等)我们都有多个 B2C 租户。我们需要从Local -> Dev -> ...
. 就目前而言,我们必须在推广时修改政策。
我希望有类似从 B2C 应用程序中提取的东西。Keys
如果您使用的是 Visual Studio Code,Azure AD B2C 扩展可以使用 appsettings.json 文件为您执行此操作。
这是该部分中扩展页面的引用Policy Settings
:
当您执行 B2C 策略构建命令时,VS Code 扩展程序会查找您的设置值并将其替换为策略文件中配置的值,并创建一个包含所有策略文件的目录(替换后)。
在 Azure 门户中,目前没有类似启用环境到环境变量替换等的功能Policy Keys
。TenantId
LoadUri
一些潜在的方法:
1) SlowCheetah是一个 Visual Studio 2015/17 工具,允许对 XML 文件进行转换。您可以利用它为您拥有的每个 B2C 策略和环境创建一个 XML 转换文件。
例如,您为您的B2C_1A_SignIn
策略创建一个 UAT 转换文件并配置您需要的所有变量。然后选择 UAT 作为输出环境并按 F5 进行构建。这会将转换后的文件输出到您的应用程序bin
文件夹。您现在将拥有 UAT 的所有正确值,您可以将其上传到 Azure 门户。
2) 替换 Visual Studio Team Services Build and Release 中的令牌。这种方法允许您将所有变量设置为策略中的标记。然后,您将通过 VSTS 初始化构建和发布,您定义的所有令牌都将被替换。这种方法确实需要访问 VSTS 以及设置代码管理、构建和发布。您还需要构建文件的输出,例如服务器上的存储表或文件目录。
3) VSTS Build & Release:文件转换和变量替换参考。
VS Code 扩展确实支持这一点。您可以根据需要在 PolicySettings 下添加任意数量的设置。
{
"Environments": [
{
"Name": "...",
"Production": true,
"Tenant": "...",
"PolicySettings": {
"ProxyIdentityExperienceFrameworkId": "...",
"LoadUri": "https://myhosted/template",
"somekey" : "some value"
}
}
]
}
您使用 {Setting:LoadUri-signuporsignin} 引用它,不包括 PolicySettings。扩展说明