С таким стеком, как Vue JS и .Net Core Web API - где мне реализовать аутентификацию (Azure AD)? - PullRequest
1 голос
/ 18 октября 2019

Я запутался в 'где' (например, в каком слое, если не в обоих), я должен реализовать аутентификацию с помощью Azure AD в моем приложении.

Итак, у меня есть интерфейс Vue JS, и яя читал о том, как я могу использовать ADAL JS, чтобы помочь с аутентификацией с клиента.

Однако мне также необходимо защитить свои веб-API, и это, очевидно, не сделано с ADAL JS.

Вопрос

Как я могу ограничить вызовы моего веб-API только теми пользователями, которые прошли проверку подлинности (им нужно будет войти в систему через приложение vue js) с помощью Azure AD? А затем, аналогично, разрешить веб-API для проверки подлинности с помощью Azure AD для извлечения вещей из хранилища BLOB-объектов?

Дальнейший контекст (если необходимо)

Одним из примеров потока будет то, что пользователь входит в систему(в приложении vue js) отправляет файл на мой веб-интерфейс, который помещает его в хранилище BLOB-объектов (Azure). Затем аутентифицированный пользователь может затем запросить этот файл (который должен быть ограничен в Azure только для авторизованных пользователей) и затем вернуть его аутентифицированному клиенту.

РЕДАКТИРОВАТЬ

Я слишкомдумаешь это? Является ли это простым случаем проверки подлинности веб-API с помощью AD в Azure, получения токена и пересылки этого токена на клиент для передачи?

1 Ответ

0 голосов
/ 18 октября 2019

Ваше приложение Vue должно обрабатывать аутентификацию с использованием MSAL.js или ADAL.js. Затем он может получить токены доступа к вашему внутреннему API с помощью неявного потока OAuth.

Ваш внутренний API аутентифицирует вызывающего абонента с помощью приобретенного ими веб-токена JSON.

Вы можете контролировать, какиеприложения могут вызывать ваш API, определяя области и разрешения приложений для него, а затем назначая их приложениям, к которым вы хотите иметь такой доступ. Ваш API должен затем проверить токены, которые имеют эти разрешения:)

Разрешения и согласие: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent

Вход в систему с внешнего интерфейса: https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-sign-in

Входной токен получения: https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-acquire-token

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...