Использование Auth Token с несколькими экземплярами RESTheart - PullRequest
0 голосов
/ 02 октября 2018

Мне интересно, как добиться использования токена аутентификации при наличии нескольких экземпляров RESTheart.В настоящее время мы развернули несколько экземпляров в kubernetes и сделали их доступными, используя определение входа.Мы не хотим использовать липкий сеанс, чтобы иметь возможность использовать все экземпляры.

Что касается документации https://restheart.org/learn/clients-authentication/, мы также можем отправлять Basic Auth, используя имя пользователя: пароль.Но, тем не менее, мы задаемся вопросом, как реализовать распределенный кеш аутентификационного токена, о котором вы упомянули.Есть ли примеры для этого?Или какие-нибудь намеки?

С уважением, Кристиан

1 Ответ

0 голосов
/ 03 октября 2018

Как указано в документации:

Обратите внимание на маркер аутентификации в случае развертывания нескольких узлов (горизонтальная масштабируемость).В этом случае вам необходимо либо отключить его, либо использовать балансировщик нагрузки с параметром sticky session, либо использовать реализацию распределенного кэша токенов аутентификации (пока недоступно в текущей версии, но вы можете запросить support ).

Задача в проекте jira: https://softinstigate.atlassian.net/browse/RH-51:

RESTHeart использует кэши для различных целей (например, свойства базы данных и коллекции, IDM на основе базы данных, аутентификация токена сеанса).Обычно они реализуются с использованием кэша гуавы.

Это локальные кэши, которые могут создавать проблемы в кластерных развертываниях.Нам нужно разрешить указание фактической реализации кэша через конфигурацию.

Затем мы можем иметь различные реализации:

  • локальный кеш гуавы
  • распределенный кеш (например,реализуя спецификации JCache)
  • кеш, который синхронизирует данные между различными экземплярами через коллекцию mongodb.обратите внимание, что из mongo v3.6 поток изменений позволяет уведомлять об изменениях данных
...