Back to Etherpad Lite

Cookies

doc/cookies.md

2.7.36.5 KB
Original Source

Cookies

Cookies used by Etherpad.

NameSample valueDomainPathExpires/max-ageHttp-onlySecureUsage description
express_sids%3A7yCNjRmTW8ylGQ53I2IhOwYF9...example.org/SessiontruetrueSession ID of the Express web framework. When Etherpad is behind a reverse proxy, and an administrator wants to use session stickiness, he may use this cookie. If you are behind a reverse proxy, please remember to set trustProxy: true in settings.json. Set in webaccess.js#L131.
languageenexample.org/SessionfalsetrueThe language of the UI (e.g.: en-GB, it). Set by the pad client when the user changes My View → Language (currently in src/static/js/pad.ts, via setMyViewLanguage()).
prefs / prefsHttp%7B%22epThemesExtTheme%22...example.org/pyear 3000falsetrueClient-side preferences (e.g.: font family, chat always visible, show authorship colors, ...). Set in pad_cookie.js#L49. prefs is used if Etherpad is accessed over HTTPS, prefsHttp if accessed over HTTP. For more info see https://github.com/ether/etherpad-lite/issues/3179.
tokent.tFzkihhhBf4xKEpCK3PUexample.org/60 daystruetrueA random token representing the author, of the form t.randomstring_of_length_20. Set by the server as an HttpOnly; SameSite=Lax cookie on the first GET to /p/:pad (see src/node/utils/ensureAuthorTokenCookie.ts). The server reads the cookie from the socket.io handshake in PadMessageHandler.handleClientReady to resolve the author. Not readable from browser JavaScript. See privacy.md.

For more info, visit the related discussion at https://github.com/ether/etherpad-lite/issues/3563.

Etherpad HTTP API clients may make use (if they choose so) to send another cookie:

NameSample valueDomainUsage description
sessionIDs.1c70968b333b25476a2c7bdd0e0bed17example.orgSessions can be created between a group and an author. This allows an author to access more than one group. The sessionID will be set as a cookie to the client and is valid until a certain date. The session cookie can also contain multiple comma-separated sessionIDs, allowing a user to edit pads in different groups at the same time. More info - https://github.com/ether/etherpad-lite/blob/develop/doc/api/http_api.md#session