zulip/zproject
Shubham Padia 80a3651cf3 auth: Let user choose emails in GitHub auth.
Previously, our Github authentication backend just used the user's
primary email address associated with GitHub, which was a reasonable
default, but quite annoying for users who have several email addresses
associated with their GitHub account.

We fix this, by adding a new screen where users can select which of
their (verified) GitHub email addresses to use for authentication.

This is implemented using the "partial" feature of the
python-social-auth pipeline system.

Each email is displayed as a button. Clicking on that button chooses
the email. The email value is stored in a hidden input above the
button. The `primary_email` is displayed on top followed by
`verified_non_primary_emails`. Backend name is also passed as
`backend` to the template, which in our case is GitHub.

Fixes #9876.
2019-06-23 21:27:04 -07:00
..
jinja2 templates: Add django timesince filter to jinja2 filters. 2019-03-11 12:01:11 -07:00
__init__.py
backends.py auth: Let user choose emails in GitHub auth. 2019-06-23 21:27:04 -07:00
dev_settings.py settings: Configure LDAP avatar synchronization in dev environment. 2019-06-17 13:18:36 -07:00
dev_urls.py dev tooling: Add "create new user" and "create new realm" buttons. 2019-05-21 15:03:37 -07:00
email_backends.py tools: Upgrade Pycodestyle and fix new linter errors. 2019-01-31 12:21:41 -08:00
legacy_urls.py urls: Move the json/fetch_api_key endpoint to be an API-style route. 2018-01-08 13:15:52 -05:00
prod_settings_template.py settings: Improve example for RABBITMQ_HOST. 2019-06-06 16:41:15 -07:00
settings.py auth: Allow setting GOOGLE_OAUTH2_CLIENT_ID from dev-secrets. 2019-06-14 10:16:26 -07:00
slack_importer_test_settings.py settings: Migrate test settings to modern postgres backend name. 2019-01-23 17:08:24 -08:00
terms.md.template Add TERMS_OF_SERVICE setting. 2016-07-29 20:47:31 -07:00
test_settings.py settings: Migrate test settings to modern postgres backend name. 2019-01-23 17:08:24 -08:00
urls.py urls: Fix URL definitions with missing ^/$ symbols. 2019-06-06 12:58:10 -07:00
wsgi.py python: Mark intentionally unused imports with noop statements. 2019-02-22 16:54:47 -08:00