From cb7d01ac8533c389630fb5a613ae9748739d7337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr> Date: Wed, 31 Jan 2018 11:34:38 +0100 Subject: [PATCH] add first social authentication system (github) Former-commit-id: 68d5cd12f8261618a02032b14b5e67c91f6b1291 --- ippisite/db.sqlite3.REMOVED.git-id | 2 +- ippisite/ippidb/templates/base.html | 7 +++++++ ippisite/ippisite/settings.py | 19 ++++++++++++++++++- ippisite/ippisite/urls.py | 2 ++ ippisite/requirements.txt | 1 + 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/ippisite/db.sqlite3.REMOVED.git-id b/ippisite/db.sqlite3.REMOVED.git-id index e31aa9c9..eb9b8958 100644 --- a/ippisite/db.sqlite3.REMOVED.git-id +++ b/ippisite/db.sqlite3.REMOVED.git-id @@ -1 +1 @@ -521ff1feba549fd94abfbcedbfea449190f6f3b2 \ No newline at end of file +fccd9d61cb42d14bf067967988c8ee76a6d781ff \ No newline at end of file diff --git a/ippisite/ippidb/templates/base.html b/ippisite/ippidb/templates/base.html index d8a44a40..288c8239 100644 --- a/ippisite/ippidb/templates/base.html +++ b/ippisite/ippidb/templates/base.html @@ -1,3 +1,5 @@ +{% load socialaccount %} + <!DOCTYPE html> <html lang="en"> <head> @@ -60,6 +62,11 @@ <li> <a href="/admin-session">Admin</a> </li> + {% if user.is_authenticated %} + <li>Welcome {{ user.username }} !!! <a href="{% url 'logout' %}">logout</a></li> + {% else %} + <li><a href="{% provider_login_url 'github' %}"><i class="fab fa-github" title="Login with github"></i> Login with GitHub</a></li> + {% endif %} </ul> </div> </nav> diff --git a/ippisite/ippisite/settings.py b/ippisite/ippisite/settings.py index 00ae8293..da6df9df 100644 --- a/ippisite/ippisite/settings.py +++ b/ippisite/ippisite/settings.py @@ -46,7 +46,12 @@ INSTALLED_APPS = [ 'ippidb', 'formtools', 'debug_toolbar', - 'mod_wsgi.server' + 'mod_wsgi.server', + 'django.contrib.sites', + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + 'allauth.socialaccount.providers.github', ] MIDDLEWARE = [ @@ -140,3 +145,15 @@ GRAPH_MODELS = { 'all_applications': True, 'group_models': True, } + +# myproject/settings.py +AUTHENTICATION_BACKENDS = ( + "django.contrib.auth.backends.ModelBackend", + "allauth.account.auth_backends.AuthenticationBackend", +) + +SITE_ID = 1 + +LOGIN_REDIRECT_URL = '/' + +LOGOUT_REDIRECT_URL = '/' diff --git a/ippisite/ippisite/urls.py b/ippisite/ippisite/urls.py index 188260bb..72d80c8f 100644 --- a/ippisite/ippisite/urls.py +++ b/ippisite/ippisite/urls.py @@ -19,4 +19,6 @@ from django.contrib import admin urlpatterns = [ url(r'^', include('ippidb.urls')), url(r'^admin-django/', admin.site.urls), + url(r'^accounts/', include('allauth.urls')), + url(r'^auth/', include('django.contrib.auth.urls')), ] diff --git a/ippisite/requirements.txt b/ippisite/requirements.txt index dc066e88..6df5a101 100644 --- a/ippisite/requirements.txt +++ b/ippisite/requirements.txt @@ -9,3 +9,4 @@ django-formtools django-debug-toolbar mod_wsgi bioblend +django-allauth -- GitLab