IdentityServer4 с AspNetCore.Identity: пользовательский SignInManager не вызывается при использовании TokenClient - PullRequest
0 голосов
/ 23 февраля 2019

У меня IdentityServer4 работает с AspNetCore.Identity.Логины работают нормально со страницы входа в AspNetIdentity, а также при использовании IdentityModel TokenClient.RequestResourceOwnerPasswordAsync.

Затем я хотел расширить это, чтобы иметь возможность аутентифицировать пользователей по AD.Я ввел SignInManager, который переопределяет PasswordSignInAsync, чтобы проверить учетные данные в AD.Если пользователь не проходит аутентификацию в AD, он возвращается к базовой реализации (которая проверяет AspNetUsers).

Страница входа работает нормально, я могу войти, используя либо учетную запись AD, либо учетную запись AspNetUser.

Моя проблема в том, что учетные записи TokenClient не работают с учетными записями AD, а только с AspNetUsers.При выполнении TokenClient.RequestResourceOwnerPasswordAsync вызывается none методов входа в SignInManager.

Есть ли какое-то другое место, где мне нужно внедрить какую-либо службу аутентификации для перехвата имен входа, которыепроисходит через IkenityServer Token API?

1 Ответ

0 голосов
/ 24 февраля 2019

Вам необходимо реализовать и зарегистрировать интерфейс IResourceOwnerPasswordValidator.

Дополнительную информацию можно найти на Документах Identity Server .

...