Динамически добавлять CORS позволеноОригины на основе условия Azure Шаблон руки - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь добавить allowOrigin динамически на основе среды prod или non-prod. Пробовал несколько способов, но ни один из них не работает. Для Prod мы хотим разрешить только 3 домена, но для более низких сред мы хотим разрешить любое происхождение. Может кто-нибудь, пожалуйста, помогите.

"variables": { 
   "corsAllowedUrls": [
        "https://www.example.com",
        "https://app2.example.com",
        "https://m2.example.com"
    ]
 }
 .......
 "type": "Microsoft.Web/sites",
 "siteConfig": {
      "cors": {
        "allowedOrigins": [
          "[if(equals(parameters('azureEnvironment'),'prod'), variables('corsAllowedUrls'), '*')]"
        ]
      },

Второй вариант, это работает для продукта, но для других сред, он добавляет три строки, которые работают случайным образом и случайно не работают.

"siteConfig": {
      "cors": {
        "allowedOrigins": [
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://ww2.example.com', '*')]",
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://app2.example.com', '')]",
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://m2.example.com', '')]"
        ]
      }

Я также пытался отправить строку через запятую и использовать функцию split. В идеале можно было бы использовать подстановочный знак, но, похоже, они не поддерживаются в Azure.

. Любая помощь приветствуется.

1 Ответ

1 голос
/ 07 февраля 2020

Пожалуйста, попробуйте это:

"variables": { 
  "corsAllowedProdUrls": [
    "https://www.example.com",
    "https://app2.example.com",
    "https://m2.example.com"
  ],
  "corsAllowedDevUrls": [
    "*"
  ]
}
.......
"type": "Microsoft.Web/sites",
"siteConfig": {
  "cors": {
    "allowedOrigins": "[if(equals(parameters('azureEnvironment'),'prod'), variables('corsAllowedProdUrls'), variables('corsAllowedDevUrls'))]"
  },
...