tpr-webmodule) của mọi pod Ayakaleaf Pro. Hãy đăng ký ứng dụng Mendeley như trong Tích hợp Mendeley, với URL chuyển hướng ${OVERLEAF_SITE_URL}/user/mendeley/oauth/callback, sau đó cấu hình Kubernetes như bên dưới.
Cấu hình
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES thay thế giá trị từ quá trình cài đặt; hãy giữ các loại bạn đã có và thêm mendeley (và zotero, nếu bạn dùng cả hai).2
Secret
MENDELEY_CIPHER_PASSWORD mã hóa các token Mendeley của người dùng trong MongoDB. Nếu không có nó, mỗi pod sẽ tự tạo một tệp khóa trong /var/lib/overleaf/data của riêng mình. Với nhiều replica, khi đó mỗi node sẽ có một khóa khác nhau, và người dùng được phục vụ bởi replica khác không thể dùng tài khoản Mendeley đã liên kết của họ. Hãy đặt giá trị này trước khi người dùng đầu tiên liên kết Mendeley: việc thay đổi nó sau đó sẽ buộc mọi người dùng phải liên kết lại Mendeley.3
Áp dụng và khởi động lại
Nhiều replica
Hãy đặtMENDELEY_CIPHER_PASSWORD trong Secret, xem ở trên. Các token Mendeley được mã hóa bởi cùng đoạn mã với các khóa Zotero: nếu không có mật khẩu, một tệp được nhập trên một replica không thể được làm mới trên replica khác, như chúng tôi đã thấy với Zotero. state của OAuth được giữ trong phiên trong Redis, nên callback có thể tới bất kỳ replica nào.
Đã kiểm thử trên Kubernetes
Với một bản mô phỏng api.mendeley.com (được tin cậy thông quaNODE_EXTRA_CA_CERTS từ overleaf-certs), trên Kubernetes 1.37 với ba replica phía sau HAProxy, các bài kiểm thử end-to-end của chúng tôi cho Mendeley đều đạt (18 trường hợp): liên kết qua OAuth 2.0 và hủy liên kết, nhập thư viện và các nhóm vào một tệp .bib, làm mới tệp đó, làm mới access token sắp hết hạn, token bị thu hồi, yêu cầu liên kết lại, tài liệu tham khảo có thể tìm kiếm được đối với các cộng tác viên, chỉ người nhập mới được làm mới, lỗi API, và kết nối chậm tới Mendeley.
