Существует два основных способа аутентификации ваших пользователей. Одним из них является использование параметров аутентификации служб приложений: https://docs.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad. Это гораздо более простой метод.
Если вам нужно больше контроля над вещами, чем доступно в сервисе, тогда вы можете реализовать проверку в самой функции, как упомянуто Thia go. Бен Моррис сделал довольно подробный пост о том, как реализовать свой собственный поставщик OAUTH в своем приложении функций с помощью C#: https://www.ben-morris.com/custom-token-authentication-in-azure-functions-using-bindings/ Если вы можете позаботиться о проверке в контейнере DI функции, проверка внутри Функция speci c довольно чистая, как видно из поста:
public class ExampleHttpFunction
{
private readonly IAccessTokenProvider _tokenProvider;
public ExampleHttpFunction(IAccessTokenProvider tokenProvider)
{
_tokenProvider = tokenProvider;
}
[FunctionName("ExampleHttpFunction")]
public IActionResult Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "example")] HttpRequest req, ILogger log)
{
var result = _tokenProvider.ValidateToken(req);
if (result.Status == AccessTokenStatus.Valid)
{
log.LogInformation($"Request received for {result.Principal.Identity.Name}.");
return new OkResult();
}
else
{
return new UnauthorizedResult();
}
}
}