summaryrefslogtreecommitdiffstats
path: root/src/account
diff options
context:
space:
mode:
authorssmith <ssmith@iol.unh.edu>2020-06-18 18:30:39 -0400
committerssmith <ssmith@iol.unh.edu>2020-06-23 12:31:15 -0400
commit596664b37c17b31f2b5faa0d5144e4317179e0ba (patch)
tree77f73b960d3486cc3da8fc1d60bfd81ce17ca588 /src/account
parentf96012fae9a106228ad80671a8c66476834a50db (diff)
Enable OpenID
Signed-off-by: Sean Smith <ssmith@iol.unh.edu> Change-Id: I4397976dbafce1d9d1cccc52f0e705891e59153a
Diffstat (limited to 'src/account')
-rw-r--r--src/account/views.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/account/views.py b/src/account/views.py
index d1cc813..f883338 100644
--- a/src/account/views.py
+++ b/src/account/views.py
@@ -28,6 +28,7 @@ from django.views.generic import RedirectView, TemplateView, UpdateView
from django.shortcuts import render
from jira import JIRA
from rest_framework.authtoken.models import Token
+from mozilla_django_oidc.auth import OIDCAuthenticationBackend
from account.forms import AccountSettingsForm
@@ -58,6 +59,20 @@ class AccountSettingsView(UpdateView):
return context
+class MyOIDCAB(OIDCAuthenticationBackend):
+ def filter_users_by_claims(self, claims):
+ email = claims.get(email=email)
+ if not email:
+ return self.UserModel.objects.none()
+
+ try:
+ profile = Profile.objects.get(email=email)
+ return profile.user
+
+ except Profile.DoesNotExist:
+ return self.UserModel.objects.none()
+
+
class JiraLoginView(RedirectView):
def get_redirect_url(self, *args, **kwargs):
consumer = oauth.Consumer(settings.OAUTH_CONSUMER_KEY, settings.OAUTH_CONSUMER_SECRET)