Я нашел пример кода, связанный с тем, что вы ищете:
Итак, интересная часть здесь (даст вам основную идею):
[FunctionName("GetClaims")]
public static HttpResponseMessage GetClaims(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)]
HttpRequestMessage request,
TraceWriter log)
{
if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
{
var claimsPrincipal = (ClaimsPrincipal)Thread.CurrentPrincipal;
var claims = claimsPrincipal.Claims.ToDictionary(c => c.Type, c => c.Value);
// Could use the claims here. For this sample, just return it!
return request.CreateResponse(HttpStatusCode.OK, claims, "application/json");
}
else
{
return request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Not Authorized");
}
}
Упрощенным решением было бы создание функции, которая получает заявки, и вы можете вызывать эту функцию в любых других функциях.
Функции Azure имеют Фильтры функций (согласно документации он все еще находится в предварительном просмотре.)
Фильтры функций предоставляют возможность настроить конвейер выполнения WebJobs с вашей собственной логикой. Фильтры очень похожи на фильтры ASP.NET. Они могут быть реализованы как декларативные атрибуты, которые могут применяться к вашим рабочим функциям / классам.
Фильтры позволяют инкапсулировать общую логику, которая будет совместно использоваться многими различными функциями. Они также позволяют централизовать логику для сквозных задач (например, проверка, ведение журнала, обработка ошибок и т. Д.).
Таким образом, вы сможете создать собственный фильтр авторизации с этой информацией.