Рекомендации по проверке подлинности API в среде датчиков с несколькими клиентами/поставщиками

#api #authentication #jwt

Вопрос:

Я ищу несколько советов и рекомендаций по обработке токенов аутентификации в среде с несколькими арендаторами и несколькими поставщиками.

Область применения: Аутентификация должна выполняться локально.

В настоящее время я создаю основу API, которая работает на нескольких различных API сетевых поставщиков. Цель этого состоит в том, чтобы иметь единый общий язык для запроса / настройки сопоставимых данных с разных датчиков.

Позвольте мне показать вам пример.

 Vendor1: The new api path /customer1/S1.LA/stats (/customerName/sensorHostName.Location/stats)  Calls a function that utalizes the vendor API as such. https://S1.customer1.LA/network?did=1amp;metric=datatransfervolumeamp;from=2019-12-10T12:00:00amp;to=2019-12-10 -h TOKEN  Vendor 2 alternative: /customer1/S6.NY/stats  https://S6.customer1.NY/healthcheck?last=24h -h TOKEN  

Теперь я начал думать об обработке всех токенов, используемых для этих отдельных датчиков (количество датчиков: 40-80 постоянно растет). В предыдущих проектах я просто использовал отдельный файл JWT, однако, исходя из количества датчиков и того факта, что он будет размещен на внутреннем сервере, доступном нескольким членам команды(сам сервер будет ограничен набором сотрудников). Действительно ли это лучший способ для этого сценария или могут быть какие-либо жизнеспособные альтернативные методы обработки большого набора токенов.

Дополнительным соображением является то, что разные поставщики могут использовать разные методы аутентификации, такие как токен на предъявителя, в то время как другие используют пользователя:пароль или сертификаты.

Чтобы дать немного более четкую картину, я попытаюсь нарисовать небольшую топологию. топология