1

如何在自定义策略中使用“配置文件”?就像appsetting.json在 ASP.Net Core 中一样。

要配置的东西


背景:每个环境(Local、Dev、QA、Prod 等)我们都有多个 B2C 租户。我们需要从Local -> Dev -> .... 就目前而言,我们必须在推广时修改政策。

我希望有类似从 B2C 应用程序中提取的东西。Keys

4

3 回答 3

2

如果您使用的是 Visual Studio Code,Azure AD B2C 扩展可以使用 appsettings.json 文件为您执行此操作。

这是该部分中扩展页面的引用Policy Settings

当您执行 B2C 策略构建命令时,VS Code 扩展程序会查找您的设置值并将其替换为策略文件中配置的值,并创建一个包含所有策略文件的目录(替换后)。

于 2020-12-15T18:06:46.010 回答
1

在 Azure 门户中,目前没有类似启用环境到环境变量替换等的功能Policy KeysTenantIdLoadUri

一些潜在的方法:

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:文件转换和变量替换参考

于 2017-12-05T16:57:36.860 回答
0

VS Code 扩展确实支持这一点。您可以根据需要在 PolicySettings 下添加任意数量的设置。

{
    "Environments": [
        {
            "Name": "...",
            "Production": true,
            "Tenant": "...",
            "PolicySettings": {
                "ProxyIdentityExperienceFrameworkId": "...",
                "LoadUri": "https://myhosted/template",
                "somekey" : "some value"
            }
        }
    ]
}

您使用 {Setting:LoadUri-signuporsignin} 引用它,不包括 PolicySettings。扩展说明

于 2022-01-31T11:51:59.040 回答