Проверка подлинности Windows между React и ASP.NET Back-end - PullRequest
0 голосов
/ 07 октября 2019

У меня есть многоуровневое приложение, использующее 2 уровня NET Core ASP.NET.

  • Уровень 01
    • Реагирует на JS, размещенный через ASP.NET Core
  • Уровень 02
    • Внутренний HTTP rest

Уровень 01 использует NTLM, поэтому, когда пользователь открывает браузерASP.NET Core загружает React SPA, и из ASP.NET Core я могу получить IPrincipal текущего пользователя Windows. К сожалению, Back-end всегда работает в контексте учетной записи службы пула приложений.

В этом сценарии будет правильным, если не считать React, вызывать Back-end с использованием учетной записи Windows. на котором запущено приложение? Есть ли способ сгенерировать токен, такой как OAuth, в хосте Front-end NET Core и затем передать его на сервер?

Примечание

Iу меня есть архитектурные требования, я не могу использовать имя пользователя и пароль, я не могу использовать обычную аутентификацию. Внешний интерфейс должен открываться с использованием NTLM и отображать текущую учетную запись Windows ( эта часть работает )

1 Ответ

1 голос
/ 07 октября 2019

Я думаю, что вы можете использовать подход, упомянутый в ссылке ниже. На уровне 01 создайте конечную точку API, для которой требуется проверка подлинности Windows. Получите информацию о пользователе из идентификатора и сгенерируйте токен.

Используйте проверку подлинности Windows с OAuth 2.0

Для генерации токена давайте используем IdentityServer. Создание токена доступа с IdentityServer4 без пароля

...