Функции Azure позволяют использовать ключи API в качестве формы авторизации.
By default, an HTTP trigger requires an API key in the HTTP request. So your HTTP request normally looks like the following:
https://<yourapp>.azurewebsites.net/api/<function>?code=<ApiKey>You can allow anonymous requests, which do not require keys.
В моем случае функция Azure используется в одностраничном клиентском приложении веб-сайта, поэтому ключ API фактически общедоступен всем, кто занимается отладкой приложения.
В этом контексте есть ли смысл использовать API-ключ?


По-прежнему полезно против случайного вызова и глупых поисковых роботов. Для последнего вы должны использовать ключ в заголовках, например:
GET /api/get-issues HTTP/1.1
Host: {funcapp}.azurewebsites.net
User-Agent: ajax-library-of-the-day
x-functions-key: rkW0PqT.....zcUBQ==
Если вас беспокоит авторизация пользовательский агент для внутреннего API, вам понадобится неявный поток OAuth 2.0.
Не могу комментировать, если вам выставили счет за эти 401 Unauthorized. Скорее всего, нет, в противном случае это привело бы к очень дорогому вектору атаки, поскольку ваша подписка была бы слишком дорогой.
Если ошибка 401 вызвана EasyAuth или средой выполнения функций (как в этом случае), то с пользователя не взимается плата за выполнение.
Таким образом, в основном единственное преимущество использования ключа API в SPA, где ключ является открытым, заключается в том, чтобы избежать поисковых роботов и случайного вызова, как указано ниже?