Azure APIM策略:允许多个头名称用于发送JWT,或策略中的“或”条件

Azure APIM策略:允许多个头名称用于发送JWT,或策略中的“或”条件,jwt,azure-api-management,Jwt,Azure Api Management,我需要将APIM配置为支持任何预定义头中提供的JWT。为此,我需要按“或”条件组合两个策略,但我找不到关于相应语法的文档 我有两种类型的客户端应用程序。他们中的一些人按照Azure文档中的建议在“授权”令牌中发送JWT: Authorization: Bearer eyJhbGciOi.... 其他应用程序使用自定义标题名称: custom_token: eyJhbGciOi.... 我需要两者都支持。但是,我无法逐个指定策略,因为在如下情况下使用了“AND”条件: <validate

我需要将APIM配置为支持任何预定义头中提供的JWT。为此,我需要按“或”条件组合两个策略,但我找不到关于相应语法的文档

我有两种类型的客户端应用程序。他们中的一些人按照Azure文档中的建议在“授权”令牌中发送JWT:

Authorization: Bearer eyJhbGciOi....
其他应用程序使用自定义标题名称:

custom_token: eyJhbGciOi....
我需要两者都支持。但是,我无法逐个指定策略,因为在如下情况下使用了“AND”条件:

<validate-jwt header name="Authorization" ... </validate-jwt>
<validate-jwt header name="custom_token" ... </validate-jwt>
如何在策略之间实现“或”条件?
谢谢

好的,我找到了解决办法。这比我害怕的要容易:

    <choose>
        <when condition="@(!context.Request.Headers.GetValueOrDefault("Authorization", "").Equals(""))">
            <validate-jwt header-name="Authorization" ..... </validate-jwt>
        </when>
        <otherwise>
            <validate-jwt header-name="custom_token" ..... </validate-jwt>
        </otherwise>
    </choose>

可以做得简单一点,因为:当我只想对具有不同配置端点的两个策略使用逻辑OR时,解决方案是否相同?如果是的话,那么条件=?