tpr-webmodule) каждого пода Ayakaleaf Pro. Зарегистрируйте приложение Mendeley, как описано на странице Интеграция с Mendeley, с URL перенаправления ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback, затем настройте Kubernetes, как показано ниже.
Настройка
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES заменяет значение из установки; сохраните уже имеющиеся типы и добавьте mendeley (и zotero, если используете оба).2
Secret
MENDELEY_CIPHER_PASSWORD шифрует токены Mendeley пользователей в MongoDB. Без него каждый под создаёт файл ключа в своём собственном /var/lib/overleaf/data. При нескольких репликах у каждого узла тогда свой ключ, и пользователь, которого обслуживает другая реплика, не может использовать привязанную учётную запись Mendeley. Задайте его до того, как первый пользователь привяжет Mendeley: последующее изменение заставит каждого пользователя заново привязать Mendeley.3
Применение и перезапуск
Несколько реплик
ЗадайтеMENDELEY_CIPHER_PASSWORD в Secret, см. выше. Токены Mendeley шифруются тем же кодом, что и ключи Zotero: без пароля файл, импортированный на одной реплике, нельзя обновить на другой, как мы убедились на примере Zotero. Параметр OAuth state хранится в сеансе в Redis, поэтому обратный вызов может попасть на любую реплику.
Проверено на Kubernetes
На макете api.mendeley.com (доверие черезNODE_EXTRA_CA_CERTS из overleaf-certs), в Kubernetes 1.37 с тремя репликами за HAProxy наши сквозные тесты Mendeley проходят (18 сценариев): привязка через OAuth 2.0 и отвязка, импорт библиотеки и групп в файл .bib, его обновление, обновление истекающего токена доступа, отозванные токены, запрос на повторную привязку, поиск ссылок для соавторов, обновление только импортировавшим пользователем, ошибки API и медленные соединения с Mendeley.
