客观的:
将 cors origin 从命名值动态传递给 cors 策略。
例子:
假设我有以下命名值:
name: cors-origins
value: https://domain1.com;https://domain2.com
以及打算使用此命名值的 CORS 政策cors-origins
:
<policies>
<inbound>
<cors>
<allowed-origins>
// Here I need to use {{ cors-origins }}
// The expected output is:
// <origin>https://domain1.com</origin>
// <origin>https://domain2.com</origin>
</allowed-origins>
<allowed-methods>
<method>GET</method>
<method>POST</method>
</allowed-methods>
</cors>
</inbound>
<backend>
<forward-request />
</backend>
<outbound />
<on-error />
</policies>
到目前为止我尝试了什么:
- 动态创建
<allowed-origins>
部分:
片段:
...
<cors>
@{
var origins = "{{cors-origins}}".Split(';');
return new XElement("allowed-origins", origins.Select(domain => new XElement("origin",domain)));
// outputs:
// <allowed-origins>
// <origin>https://domain1.com</origin>
// <origin>https://domain2.com</origin>
// </allowed-origins>
}
...
</cors>
错误:元素“cors”不能包含文本。预期的可能元素列表:'allowed-origins、allowed-headers、expose-headers、allowed-methods'
- 仅动态创建
<origin>
元素。