tpr-webmodule) każdego poda Ayakaleaf Pro. Zarejestruj aplikację Mendeley zgodnie z opisem na stronie Integracja z Mendeley, z adresem przekierowania ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback, a następnie skonfiguruj Kubernetes w sposób opisany poniżej.
Konfiguracja
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES zastępuje wartość z instalacji; zachowaj typy, które już masz, i dodaj mendeley (oraz zotero, jeśli używasz obu).2
Secret
MENDELEY_CIPHER_PASSWORD szyfruje tokeny Mendeley użytkowników w MongoDB. Bez niego każdy pod generuje plik klucza we własnym katalogu /var/lib/overleaf/data. Przy kilku replikach każdy węzeł ma wtedy inny klucz, a użytkownik obsługiwany przez inną replikę nie może korzystać ze swojego połączonego konta Mendeley. Ustaw go, zanim pierwszy użytkownik połączy Mendeley: późniejsza zmiana zmusza każdego użytkownika do ponownego połączenia Mendeley.3
Zastosuj i uruchom ponownie
Kilka replik
UstawMENDELEY_CIPHER_PASSWORD w Secret, zobacz powyżej. Tokeny Mendeley są szyfrowane tym samym kodem co klucze Zotero: bez hasła pliku zaimportowanego na jednej replice nie można odświeżyć na innej, co zaobserwowaliśmy w przypadku Zotero. Parametr OAuth state jest przechowywany w sesji w Redis, więc wywołanie zwrotne może trafić do dowolnej repliki.
Przetestowano na Kubernetes
Na atrapie api.mendeley.com (zaufanej przezNODE_EXTRA_CA_CERTS z overleaf-certs), na Kubernetes 1.37 z trzema replikami za HAProxy, nasze testy end-to-end dla Mendeley przechodzą pomyślnie (18 przypadków): łączenie przez OAuth 2.0 i odłączanie, import biblioteki i grup do pliku .bib, jego odświeżanie, odświeżanie wygasającego tokenu dostępu, unieważnione tokeny, prośba o ponowne połączenie, bibliografia możliwa do przeszukiwania przez współpracowników, odświeżać może tylko osoba importująca, błędy API oraz wolne połączenia z Mendeley.
