2016-07-20 5 views
2

Я хотел бы пройти аутентификацию пользователей в Active Directory с помощью LDAP. Возможно ли это с помощью OpenIddict?Можно ли использовать OpenIddict и LDAP вместе?

В настоящее время у меня есть Front end (Angularjs) + Back end (Web.API с ядром ASP.NET и OpenIddict), который отлично работает. Часть пользователей использует отдельные учетные записи пользователей, и они будут продолжены. Другая часть пользователей должна использовать учетные записи AD. Он находится внутри внутренней сети и хотел бы использовать для этого уже существующий Active Directory.

Пожалуйста, предложите любые решения для этого.

Спасибо.

ответ

3

Просьба предложить любые решения для этого.

OpenIddict никогда не несет ответственности за регистрацию/аутентификацию, поэтому вы можете свободно использовать его для использования LDAP с обоими интерактивными потоками, такими как поток кода и неинтерактивными потоками, такими как поток паролей.


Если серверы AD могут работать Active Directory Federation Services, я бы рекомендовал использовать его, так как это лучший способ добиться того, что вы хотите.

В зависимости от версии, которую вы используете, вы можете легко интегрироваться с любым приложением ASP.NET Core (версия 2016 поддерживает OpenID Connect, а предыдущая поддерживает OAuth2: оба могут использоваться с OAuth2/OIDC, разработанное командой ASP.NET).

Если вы не можете использовать ADFS, другой вариант - использовать встроенную проверку подлинности Windows. В настоящее время поддерживается только при размещении вашего приложения за IIS или при использовании WebListener.

Если ни один из этих вариантов не работает для вашего сценария, вы можете выбрать маршрут «низкоуровневой проверки LDAP». Хотя это официально не поддерживается .NET Core, существует несколько библиотек, разработанных сообществом, которые вы можете использовать: https://github.com/dotnet/corefx/issues/2089#issuecomment-231994908.

+0

Мне нравятся ваши подробные ответы. Большое спасибо! – Serg

+0

У меня не получилось: об OpenIddict и части входа/аутентификации. Когда я делаю логин для отправки пароля и имени пользователя для адреса «connect/token», OpenIddict возвращает токен только для правильных значений. После этого я использую этот токен для доступа к ресурсам. Во время аутентификации нет UserManager, и OpenIddict обеспечивает аутентификацию. Правильно ли, или я что-то неправильно понимаю? – Serg

+0

'Отсутствует UserManager во время аутентификации, а OpenIddict обеспечивает аутентификацию. Правильно ли это или я что-то неправильно понимаю? '> Это соответствует предоставлению полномочий учетных данных владельца ресурса, что является единственным случаем, когда OpenIddict обрабатывает аутентификацию. – Pinpoint

Смежные вопросы