diff --git a/app/app/settings.py b/app/app/settings.py index 00504986..31c29179 100644 --- a/app/app/settings.py +++ b/app/app/settings.py @@ -92,12 +92,17 @@ WSGI_APPLICATION = 'app.wsgi.application' AUTHENTICATION_BACKENDS = [ 'social_core.backends.github.GithubOAuth2', + 'social_core.backends.azuread_tenant.AzureADTenantOAuth2', 'django.contrib.auth.backends.ModelBackend', ] SOCIAL_AUTH_GITHUB_KEY = os.getenv('OAUTH_GITHUB_KEY') SOCIAL_AUTH_GITHUB_SECRET = os.getenv('OAUTH_GITHUB_SECRET') +SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY = os.getenv('OAUTH_AAD_KEY') +SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET = os.getenv('OAUTH_AAD_SECRET') +SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID = os.getenv('OAUTH_AAD_TENANT') + # Database # https://docs.djangoproject.com/en/2.0/ref/settings/#databases diff --git a/app/server/templates/login.html b/app/server/templates/login.html index cfb1c436..cc018e2e 100644 --- a/app/server/templates/login.html +++ b/app/server/templates/login.html @@ -53,11 +53,17 @@
{% endif %} {% if github_login %} - + Login with Github {% endif %} + {% if aad_login %} + + + Login with Active Directory + + {% endif %} diff --git a/app/server/views.py b/app/server/views.py index 6e4f9377..3d36e7e4 100644 --- a/app/server/views.py +++ b/app/server/views.py @@ -185,6 +185,7 @@ class LoginView(BaseLoginView): redirect_authenticated_user = True extra_context = { 'github_login': bool(settings.SOCIAL_AUTH_GITHUB_KEY), + 'aad_login': bool(settings.SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID), } def get_context_data(self, **kwargs): diff --git a/requirements.txt b/requirements.txt index 44b8b53e..2f3b124a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,7 +13,7 @@ python-dateutil==2.7.3 pytz==2018.4 six==1.11.0 social-auth-app-django==3.1.0 -social-auth-core==3.0.0 +social-auth-core[azuread]==3.0.0 text-unidecode==1.2 tornado==5.0.2 whitenoise==3.3.1