В настоящее время я работаю над проектом, в котором я пытаюсь настроить службу на основе IdentityServer4 (https://github.com/IdentityServer/IdentityServer4)), которая проверяет подлинность пользователей путем запроса локального Active Directory через LDAP.
Для этого я также включил IdentityServer4.LdapExtension (https://github.com/Nordes/IdentityServer4.LdapExtension) в свой проект. Рабочий пример из хранилища работает нормально (https://github.com/Nordes/IdentityServer4.LdapExtension/tree/master/Sample/IdentityServer) - но пользовательская логика является частью пользовательского интерфейса) и мне нужен мой сервис для работы без интерфейса.
Простое добавление
.AddLdapUsers<ActiveDirectoryAppUser>(Conf.GetSection("ldap"), UserStore.InMemory)
, как описано в документации, не меняет конвейер запросов, поскольку предоставленные методы входа в систему / проверки никогда не выполняются - они запускаются только при вызовах из пользовательского интерфейса (AccountController). Однако, как я уже сказал, я не хочу интегрировать какой-либо пользовательский интерфейс в эту службу и скорее использовать интерфейс, который уже предоставляет Token-Endpoint (POST-запрос с client_id и client_secret, ответ с JWT).
Есть ли способ интегрировать аутентификацию LDAP, не переписывая большие части, которые работают по умолчанию, как нужно?