Commit a107754f by Dennis Jen Committed by GitHub

Merge pull request #14386 from edx/dsjen/tracking

Added user tracking id to profile scope in oauth2 handler.
parents d4df4268 080f2b90
......@@ -54,7 +54,7 @@ class ProfileHandler(object):
def scope_profile(self, _data):
""" Add specialized claims. """
return ['name', 'locale']
return ['name', 'locale', 'user_tracking_id']
def claim_name(self, data):
""" User displayable full name. """
......@@ -77,6 +77,10 @@ class ProfileHandler(object):
return language
def claim_user_tracking_id(self, data):
""" User tracking ID. """
return data['user'].id
class CourseAccessHandler(object):
"""
......
......@@ -73,6 +73,11 @@ class IDTokenTest(BaseTestMixin, IDTokenTestCase):
locale = claims['locale']
self.assertEqual(language, locale)
def test_user_tracking_id_claim(self):
scopes, claims = self.get_id_token_values('openid profile')
self.assertIn('profile', scopes)
self.assertEqual(claims['user_tracking_id'], self.user.id)
def test_no_special_course_access(self):
with check_mongo_calls(0):
scopes, claims = self.get_id_token_values('openid course_instructor course_staff')
......@@ -232,3 +237,8 @@ class UserInfoTest(BaseTestMixin, UserInfoTestCase):
self.user.save()
claims = self.get_with_scope('permissions')
self.assertTrue(claims['administrator'])
def test_profile_scope(self):
claims = self.get_with_scope('profile')
self.assertEqual(claims['name'], UserProfile.objects.get(user=self.user).name)
self.assertEqual(claims['user_tracking_id'], self.user.id)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment