A web-based collaborative LaTeX editor
Find a file
June Kelly 3288f87dbe [web] Password set/reset: reject current password (redux) (#8956)
* [web] set-password: reject same as current password

* [web] Add 'peek' operation on tokens

This allows us to improve the UX of the reset-password form,
by not invalidating the token in the case where the new
password will be rejected by validation logic.

We give up to three attempts before invalidating the token.

* [web] Add hide-on-error feature to async forms

This allows us to hide the form elements when certain
named error conditions occur.

* [web] reset-password: handle same-password rejection

We also change the implementation to use the new
peekValueFromToken API, and to expire the token explicitely
after it has been used to set the new password.

* [web] Validate OneTimeToken when loading password reset form

* [web] Rate limit GET: /user/password/set

Now that we are peeking at OneTimeToken when accessing this page,
we add rate to the GET request, matching that of the POST request.

* [web] Tidy up pug layout and mongo query for token peeking

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: 835205cc7c7ebe1209ee8e5b693efeb939a3056a
2022-09-28 08:06:54 +00:00
.github Merge pull request #4855 from overleaf/jpa-public-github-templates 2021-08-23 11:31:06 +00:00
doc Merge pull request #9134 from overleaf/ae-server-ce-readme 2022-08-12 08:05:57 +00:00
libraries Merge pull request #9625 from overleaf/jpa-logging-no-stack 2022-09-16 08:03:56 +00:00
server-ce Merge pull request #9666 from overleaf/msm-hotfix-3_2_2 2022-09-20 08:04:48 +00:00
services [web] Password set/reset: reject current password (redux) (#8956) 2022-09-28 08:06:54 +00:00
.gitignore Merge pull request #4734 from overleaf/jpa-server-ce-build 2021-08-17 08:03:11 +00:00
CONTRIBUTING.md Merge pull request #8912 from overleaf/ae-ce-contributing 2022-07-21 08:04:15 +00:00
docker-compose.debug.yml Merge pull request #6221 from overleaf/ae-web-port 2022-01-12 09:03:47 +00:00
docker-compose.yml Merge pull request #9281 from overleaf/msm-ce-mongo-version 2022-08-17 08:04:33 +00:00
LICENSE Merge remote-tracking branch 'dev-env/jpa-monorepo' into main 2021-08-05 08:03:43 +00:00
package-lock.json [templates] Upgrade marked (#9648) 2022-09-21 08:05:36 +00:00
package.json Merge pull request #9300 from overleaf/spd-freegeoip-rewrite 2022-08-22 08:03:29 +00:00
README.md Merge pull request #9134 from overleaf/ae-server-ce-readme 2022-08-12 08:05:57 +00:00


Overleaf

An open-source online real-time collaborative LaTeX editor.

WikiServer ProContributingMailing ListAuthorsLicense

A screenshot of a project being edited in Overleaf Community Edition

Figure 1: A screenshot of a project being edited in Overleaf Community Edition.

Community Edition

Overleaf is an open-source online real-time collaborative LaTeX editor. We run a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.

Enterprise

If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called Overleaf Server Pro. It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). Find out more!

Keeping up to date

Sign up to the mailing list to get updates on Overleaf releases and development.

Installation

We have detailed installation instructions in the Overleaf Toolkit.

Upgrading

If you are upgrading from a previous version of Overleaf, please see the Release Notes section on the Wiki for all of the versions between your current version and the version you are upgrading to.

Overleaf Docker Image

This repo contains two dockerfiles, Dockerfile-base, which builds the sharelatex/sharelatex-base image, and Dockerfile which builds the sharelatex/sharelatex (or "community") image.

The Base image generally contains the basic dependencies like wget and aspell, plus texlive. We split this out because it's a pretty heavy set of dependencies, and it's nice to not have to rebuild all of that every time.

The sharelatex/sharelatex image extends the base image and adds the actual Overleaf code and services.

Use make build-base and make build-community from server-ce/ to build these images.

We use the Phusion base-image (which is extended by our base image) to provide us with a VM-like container in which to run the Overleaf services. Baseimage uses the runit service manager to manage services, and we add our init-scripts from the server-ce/runit folder.

Contributing

Please see the CONTRIBUTING file for information on contributing to the development of Overleaf.

Authors

The Overleaf Team

License

The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE file.

Copyright (c) Overleaf, 2014-2021.