zulip/requirements
Harshit Bansal bf14a0af4d auth: Migrate google auth to python-social-auth.
This replaces the two custom Google authentication backends originally
written in 2012 with using the shared python-social-auth codebase that
we already use for the GitHub authentication backend.  These are:

* GoogleMobileOauth2Backend, the ancient code path for mobile
  authentication last used by the EOL original Zulip Android app.

* The `finish_google_oauth2` code path in zerver/views/auth.py, which
  was the webapp (and modern mobile app) Google authentication code
  path.

This change doesn't fix any known bugs; its main benefit is that we
get to remove hundreds of lines of security-sensitive semi-duplicated
code, replacing it with a widely trusted, high quality third-party
library.
2019-07-21 20:51:34 -07:00
..
README.md requirements: Improve README's format. 2018-05-26 06:26:14 -07:00
common.in auth: Migrate google auth to python-social-auth. 2019-07-21 20:51:34 -07:00
dev.in requirements: Upgrade Twisted from 19.2.0 to 19.2.1. 2019-07-07 22:28:54 -07:00
dev.txt auth: Migrate google auth to python-social-auth. 2019-07-21 20:51:34 -07:00
docs.in requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
docs.txt requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
mypy.in requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
mypy.txt requirements: Remove unused dependencies. 2019-07-10 15:44:50 -07:00
pip.txt requirements: Upgrade setuptools from 40.8.0 to 41.0.1. 2019-04-26 16:22:00 -07:00
prod.in requirements: Upgrade uWSGI to 2.0.17.1. 2018-07-31 11:13:22 -07:00
prod.txt auth: Migrate google auth to python-social-auth. 2019-07-21 20:51:34 -07:00
thumbor.in thumbor requirements: Upgrade virtualenv-clone from 0.4.0 to 0.5.1. 2019-01-30 09:50:43 -08:00
thumbor.txt requirements: Upgrade indirect python dependencies. 2019-07-07 22:28:54 -07:00
unupgradable.json requirements: Add Pillow to unupgradable.json. 2019-04-26 16:22:00 -07:00

README.md

The dependency graph of the requirements is as follows:

dev         prod
+ +          +
| +->common<-+
v
mypy,docs

Of the files, only dev, prod, and mypy have been used in the install scripts directly. The rest are implicit dependencies.

common and dev are locked.

Steps to update a lock file, e.g. to update ipython from 5.3.0 to 6.0.0 in common.in and propagate it to dev.txt and prod.txt: 0. Replace ipython==5.4.1 with ipython==6.0.0 in common.in.

  1. Run ./tools/update-locked-requirements.
  2. Increase PROVISION_VERSION in version.py.
  3. Run ./tools/provision to install the new deps and test them.
  4. Commit your changes.