Создайте сервер OAuth для компании Active Directory, используя Asp.Net ядро?

#asp.net-core #identityserver4

#asp.net-core #identityserver4

Вопрос:

Мне нужно создать узел веб-приложения за пределами корпоративной сети. Однако он должен быть аутентифицирован с использованием Active Directory компании.

Приложение будет иметь сайт angular и некоторые Asp.Net основные службы веб-API. Angular будет проходить аутентификацию с использованием компании AD и использовать токен для доступа к службам web API, если он авторизован.

Я подумываю о создании Asp.Net основная служба внутри компании для аутентификации. Внешние компоненты получают доступ к нему через брандмауэр и проходят аутентификацию.

Является ли это допустимой архитектурой? Есть ли какой-нибудь пример?

Обновить:

Я планирую использовать IdentityServer4 для этого.

  1. Поддерживает ли он предстоящий .Сетевое ядро 3 / Asp.Net core 3?
  2. Есть ли какой-либо пример для IdentityServer интеграции Active Directory компании?
    • Я думаю, мне нужно использовать образец пользовательского интерфейса в веб-интерфейсе или на рабочем столе, и мне нужен сервер для аутентификации входа с использованием AD и авторизации.

Комментарии:

1. Я бы не стал проходить аутентификацию с помощью angular, а вместо этого прошел бы аутентификацию с помощью Asp, а затем вернул токен в браузер. Но, по сути, это допустимая архитектура. Проверьте это: mikesdotnetting.com/article/216 /…

2. Вероятно, вы захотите использовать IdentityServer для этого. Он может подключать AD в качестве внешнего поставщика, что чем-то похоже на вход в систему через Google, Facebook и т.д. Прямая аутентификация Windows невозможна, если только все не находится в одном домене, что здесь невозможно, поэтому вашим пользователям придется фактически входить в систему, то есть вводить пользователя своего домена и пароль.

3. @ChrisPratt, это нормально, если пользователи вводят пользователя домена и пароль. Мне просто нужно аутентифицировать AD на данный момент. IdentityServer слишком тяжелый для этого? Является ли это бесплатным для использования? (Поэтому мне не нужно запрашивать одобрение).

4. IdentityServer является бесплатным с открытым исходным кодом. Он поддерживается .NET Foundation (хотя я думаю, что они предлагают платную поддержку / консультационные услуги).