Merge pull request #14386 from edx/dsjen/tracking
Added user tracking id to profile scope in oauth2 handler.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user