Мы запускаем веб-приложение, которое собирает данные от множества поставщиков (Graph, SharePoint, O365 и многие другие согласованные API на основе AAD.
Мы направляем вызовы в соответствующий восходящий поток в наших APIM. (Получите токен OBO и перенаправьте запрос в восходящий поток).
Мы ожидали, что обмен токенами AAD будет очень быстрым (~ 200 мс), но мы видим, что в среднем он занимает около 900 мс.
Поскольку запросы поступают из APIM (у которого нет кэша ADAL), несколько запросов от одного пользователя к одному восходящему потоку (например, Graph API) получают токен обмена (токен OBO) несколько раз (для каждого попадания api ).
Мы думаем о добавлении кеша Redis в APIM для кеширования токенов.
Прежде чем мы это сделаем, я хотел бы услышать от экспертов здесь:
Как лучше всего оптимизировать выборку нескольких токенов OBO (например, есть ли способ получить более одного токена OBO - токен SharePoint, токен Graph и т. Д. c, в одном запросе к AAD. ?
Каковы передовые методы кэширования токенов в APIM. Если мы добавим внешний кеш в APIM, какие еще меры безопасности следует развернуть.
Есть ли какие-нибудь рекомендации по получению токена OBO в течение 200 мс?
Заранее спасибо