Последние 24 часа я прочел все о том, как создавать Azure-функции и успешно преобразовал MVC WebApi в новое приложение с несколькими функциями. Моя проблема в том, что я не нашел четкой документации или учебников о том, как сделать с ними основную аутентификацию.
Мой сценарий довольно прямолинейный. Предоставляйте пользователям в AAD, а затем предоставляйте этим пользователям доступ к определенным функциям. Пользователи на веб-сайте будут нажимать на элементы пользовательского интерфейса, которые в свою очередь запускают Javascript, который вызывает мои функции Azure. В функции мне нужно как-то проверить свою личность, поскольку я буду передавать это вместе с другими функциями, которые взаимодействуют с экземпляром SQL.
Может ли кто-нибудь указать мне на документы, статьи, пример, что-то, что показывает, как я могу это достичь?
Для записи я нашел на портале конфигурацию "Аутентификация" для моего приложения-функции и выбрал AAD в качестве моего провайдера аутентификации. Я добавил к нему свое приложение-приложение и предоставил несколько пользователей. Затем я написал следующую тестовую функцию:
[FunctionName("GetThings")]
public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.User, "GET", Route = null)]HttpRequestMessage req, TraceWriter log)
{
log.Info("Getting all the things");
var identity = ClaimsPrincipal.Current.Identity;
return identity.IsAuthenticated ?
req.CreateResponse(HttpStatusCode.Unauthorized, "Not authenticated!") :
req.CreateResponse(HttpStatusCode.OK, $"Hi {identity.Name}!");
}
В настоящее время, когда я пытаюсь попасть в конечную точку напрямую, я перенаправляюсь на страницу входа... поэтому я думаю, что эта часть работает. Однако, как я генерирую/извлекаю токены пользователей, отправляю их на запрос к функциям или обрабатываю их на сервере, я пока не понимаю.
Помогите?