Я хочу управлять вызовами API, выполненными для моих микросервисов, каждый из микросервисов будет использовать какое-то промежуточное программное обеспечение для проверки правильности ключа API.Чтобы проверить, является ли ключ API действительным, это вызовет отдельную службу, которая хранит ключи API в таблице, чтобы проверить, существует ли ключ API и является ли он активным.Используя ключ API, он затем получит строку подключения (ключ API будет зашифрованной строкой подключения)
На диаграмме ниже показано, что я пытаюсь сделать:
Клиенты будут знать свой ключ API, поскольку они смогут войти на портал для просмотра своих активных ключей API.Проблема, с которой я сталкиваюсь, состоит в том, что приложение MVC, которое является мультитенантным приложением, не будет знать их API-ключ, и их нельзя сделать доступным в БД для каждого арендатора, поскольку для того, чтобы узнать, на какую БД указывать, они должнызнать их ключ API (который является зашифрованной строкой соединения).Должен ли этот ключ API храниться в web.config для каждого арендатора?
Краткий обзор того, чего я пытаюсь достичь:
- Получите ключ API из запроса
- Проверка правильности и активности ключа API
- Расшифровка ключа API для захвата строки подключения к базе данных
- Вызов микросервиса, который первоначально вызывался, и использование этой строки подключения к базе данных.
Я также чувствую, что то, что я пытаюсь достичь, является излишним, кто-нибудь может предложить что-нибудь еще?