Как передать "x-ms-client-Principal" в статическом хостинге веб-сайтов Azure (предварительная версия) при локальном запуске?

Я пробую новую предварительную версию Azure Static Website Hosting Preview, и при локальном запуске функции Azure не получают заголовок "x-ms-client-Principle" в объекте привязки req.

Мой файл маршрутов выглядит так:

{
  "routes": [
    {
      "route": "/api/*",
      "allowedRoles": ["administrator"]
    },
    {
      "route": "/*",
      "serve": "/index.html",
      "statusCode": 200
    }
  ]
}

Моя функция API попадает в: /api/message, но не включает заголовок.

module.exports = async function (context, req) {
  const header = req.headers["x-ms-client-principal"]; // req.headers doesn't include x-ms-client-principle
  const encoded = Buffer.from(header, "base64");
  const decoded = encoded.toString("ascii");
}

Статическое приложение - это статическая страница React, созданная с помощью create-react-app. У меня есть строка для вывода результата из приложения-реакции:

fetch(`${process.env.REACT_APP_API}/message?name=me`)
  .then(a => a.text())
  .then(console.log);

Локально process.env.REACT_APP_API устанавливается через REACT_APP_API=http://127.0.0.1:7071/api.

API получает популярность, но я не уверен, что он работает с правильной версией Функций Azure. Он сообщает:Function Runtime Version: 2.0.12961.0 хотя я установил azure-functions-core-tools@3 и установил правильное значение ("azureFunctions.projectRuntime": "~3") в settings.json.

Мой вопрос: я что-то упускаю, и если да, то что?

2 ответа

На данный момент кажется, что этот сценарий не поддерживается:

https://github.com/MicrosoftDocs/azure-docs/issues/55517

Для тех, кто наткнется на этот 2022 год, есть интерфейс командной строки и не забудьте правильно настроить API . Хотя это не тривиально для настройки, он работает.

Другие вопросы по тегам