Я столкнулся с подобной проблемой, поскольку хотел аутентифицировать запросы с использованием токенов доступа JWT, выданных внешним сервером OAuth.Нет удобного промежуточного программного обеспечения, позволяющего вам это сделать, но вы можете создать настраиваемую привязку ввода , которая позволит вам вставить что-то вроде ClaimsPrincipal в определение функции, например,
[FunctionName("ExampleHttpFunction")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "example")] HttpRequest req,
ILogger log,
[AccessToken] ClaimsPrincipal principal)
{
log.LogInformation($"Request received for {principal.Identity.Name}.");
return new OkResult();
}
Это отделяет аутентификацию от самой функции, упрощая тестирование, хотя вам все равно нужно будет добавить проверки авторизации и явно вернуть 40-кратные коды состояния.
SDK для связывания не так хорошо документировани вам нужно будет соединить полдюжины различных классов, чтобы это работало, но я подробно описал здесь: Аутентификация по токену в пользовательских функциях Azure с использованием привязок .Сам код размещен на GitHub - просто замените код в реализации IValueProvider на свой собственный метод аутентификации.
Надеюсь, это поможет.Я полагаю, что альтернативой является написание некоторого кода, который вы добавляете в каждую функцию?