Я создаю внутреннее приложение React SPA с. Net Core 2.2 back-end.
Компания использует AD, и как только пользователь входит на свою рабочую станцию Windows, он должен иметь доступ к этому приложению anet без необходимости ввода имени пользователя / пароля для аутентификации - приложение следует «забрать» windows учетные данные пользователя, молча запросить AD для получения сведений об учетной записи в фоновом режиме и аутентифицировать / авторизовать пользователя на основе этих данных, а также внутренних разрешений приложения / logi c.
Теперь проблема с React SPA заключается в том, что он не может получить Windows идентификационные данные пользователя или запросить AD напрямую без необходимости ввода пользователем своих учетных данных (или, я так думаю). Я видел несколько постов, предлагающих использовать JWT, но я мог бы использовать это только после первоначальной аутентификации.
Поэтому я планирую попробовать это:
- Windows - пользователь, прошедший проверку подлинности, вводит URL-адрес приложения
- . Получает доступ к. Net Базовому контроллеру
- Контроллер получает Windows удостоверения пользователя, молча запрашивает сервер AD для любого добавления 'l info
- Сервер AD возвращает данные AD пользователя на контроллер и упаковывает их в токен JWT или в какой-либо объект данных пользователя
- Контроллер возвращает представление в виде индекса. html как реакция SPA вместе с «упакованным» токеном, который отправляется в контекст React или хранилище Redux.
- , который отображается в браузере для конечного пользователя
- .. с тех пор он функционирует как обычный SPA, взаимодействующий с сервером Конечные точки API.
Вопросы:
- A. Будет ли это работать?
- B. Есть ли лучший / более эффективный способ реализации «тихой» внутренней аутентификации AD с React SPA?
- C. Есть ли какие-нибудь библиотеки / инструменты, которые я могу использовать, чтобы сделать это проще?
- D. Я читал о библиотеке MSAL от Microsoft, но, похоже, она работает только для Azure и все равно требует имя пользователя / пароль?