На моей работе мы постепенно заменяем монолитную унаследованную систему архитектурой микросервисов.Мне было поручено написать сервер аутентификации с использованием Asp.Net Core, Identity Server 4 и Entity Framework *.Унаследованная система уже имеет аутентификацию, и наш срок приближается, поэтому мы собираемся использовать унаследованную систему в качестве бэкенда на данный момент.
Как настроить Identity Server / Entity Framework для получения информации для входа в системучерез устаревшую систему?Пока что все, что я нашел, включает в себя добавление базы данных, такой как SQL-сервер.Предположим, ради аргумента, что я не могу получить данные напрямую из базы данных MySQL, которую использует устаревшая система, но легко получить пользовательские данные через JSON API.
Я написал DbContextи реализация IProfileService, которая использует его, но я не уверен, как на самом деле вытащить пользователей в DbContext, и когда я пытаюсь войти в систему с клиента, я получаю эту ошибку:
Нетпоставщик базы данных был настроен для этого DbContext.Поставщик может быть настроен путем переопределения метода DbContext.OnConfiguring или с помощью AddDbContext в поставщике службы приложений.Если используется AddDbContext, то также убедитесь, что ваш тип DbContext принимает объект DbContextOptions в своем конструкторе и передает его базовому конструктору для DbContext.
Однако я не смог найти / выяснитьчто положить в DbContext.OnConfiguring, чтобы настроить это.Я полагаю, что мне нужно где-то реализовать IServiceProvider, но я не могу найти какие-либо подробности о том, как это сделать.
* Мы не женаты на этом, поэтому приветствуются предложения относительно чего-то более подходящего.Мы используем .Net Core.