tpr-webmodule) van elke Ayakaleaf Pro-pod. Registreer de Mendeley-applicatie zoals in Mendeley-integratie, met de redirect-URL ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback, en configureer Kubernetes daarna zoals hieronder.
Configuratie
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES vervangt de waarde uit de installatie; behoud de typen die je al hebt en voeg mendeley toe (en zotero, als je beide gebruikt).2
Secret
MENDELEY_CIPHER_PASSWORD versleutelt de Mendeley-tokens van de gebruikers in MongoDB. Zonder deze waarde genereert elke pod een sleutelbestand in zijn eigen /var/lib/overleaf/data. Met meerdere replica’s heeft elke node dan een andere sleutel, en kan een gebruiker die door een andere replica wordt bediend zijn gekoppelde Mendeley-account niet gebruiken. Stel deze in voordat de eerste gebruiker Mendeley koppelt: als je deze later wijzigt, moet elke gebruiker Mendeley opnieuw koppelen.3
Toepassen en herstarten
Meerdere replica’s
StelMENDELEY_CIPHER_PASSWORD in de Secret in, zie hierboven. Mendeley-tokens worden versleuteld door dezelfde code als de Zotero-sleutels: zonder het wachtwoord kan een bestand dat op de ene replica is geïmporteerd niet op een andere worden vernieuwd, zoals we zagen bij Zotero. De OAuth-state wordt bewaard in de sessie in Redis, dus de callback kan elke replica bereiken.
Getest op Kubernetes
Tegen een mock van api.mendeley.com (vertrouwd viaNODE_EXTRA_CA_CERTS uit overleaf-certs), op Kubernetes 1.37 met drie replica’s achter HAProxy, slagen onze end-to-endtests voor Mendeley (18 gevallen): koppelen via OAuth 2.0 en ontkoppelen, de bibliotheek en groepen importeren in een .bib-bestand, het vernieuwen, een verlopend toegangstoken vernieuwen, ingetrokken tokens, vragen om opnieuw te koppelen, referenties doorzoekbaar voor de medewerkers, alleen degene die importeerde mag vernieuwen, API-fouten, en trage verbindingen met Mendeley.
