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