Implement support for Oauth2 based login integrations
commit9a77d1747a915c9bdf71cf35b164d02b123359f4
authorMagnus Hagander <magnus@hagander.net>
Mon, 28 Aug 2017 14:28:03 +0000 (28 16:28 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 28 Aug 2017 14:31:57 +0000 (28 16:31 +0200)
tree0234c5a31f8edd98361b9b3761c884087a32a9a0
parent827cabb1267bcdd82bd1bdc5b5bc32ecca97667f
Implement support for Oauth2 based login integrations

This creates Google, Github, Microsoft and Facebook login integrations.
Other providers can also be added if needed. Accounts still need to be
created in the community auth system, and will be automatically created
on first login, when the user also gets to pick a username. Once an
account exists, it will be matched on email address from the external
systems.

No methods are enabled by default, as they all require encryption keys
and identities configured in local_settings.py.

Review by Stephen Frost, Jonathan Katz and Daniel Gustafsson.
13 files changed:
media/img/misc/btn_login_facebook.png [new file with mode: 0644]
media/img/misc/btn_login_github.png [new file with mode: 0644]
media/img/misc/btn_login_google.png [new file with mode: 0644]
media/img/misc/btn_login_microsoft.png [new file with mode: 0644]
pgweb/account/forms.py
pgweb/account/oauthclient.py [new file with mode: 0644]
pgweb/account/urls.py
pgweb/account/views.py
pgweb/settings.py
requirements.txt
templates/account/login.html
templates/account/signup_oauth.html [new file with mode: 0644]
templates/account/userprofileform.html