diff --git a/src/backend/InvenTree/InvenTree/sso.py b/src/backend/InvenTree/InvenTree/sso.py index cbb2d79938..891708f73f 100644 --- a/src/backend/InvenTree/InvenTree/sso.py +++ b/src/backend/InvenTree/InvenTree/sso.py @@ -96,7 +96,9 @@ def ensure_sso_groups(sender, sociallogin: SocialLogin, **kwargs): group_map = json.loads(get_global_setting('SSO_GROUP_MAP')) # map SSO groups to InvenTree groups group_names = [] - for sso_group in sociallogin.account.extra_data.get(group_key, []): + for sso_group in sociallogin.account.extra_data.get('userinfo', {}).get( + group_key, [] + ): if mapped_name := group_map.get(sso_group): group_names.append(mapped_name) diff --git a/src/backend/InvenTree/InvenTree/test_auth.py b/src/backend/InvenTree/InvenTree/test_auth.py index c8651c4285..465be13b64 100644 --- a/src/backend/InvenTree/InvenTree/test_auth.py +++ b/src/backend/InvenTree/InvenTree/test_auth.py @@ -38,7 +38,7 @@ class TestSsoGroupSync(TransactionTestCase): 'SSO_GROUP_MAP', '{"idp_group": "inventree_group"}' ) # configure sociallogin - extra_data = {'groups': ['idp_group']} + extra_data = {'userinfo': {'groups': ['idp_group']}} self.group = Group(name='inventree_group') self.group.save() # ensure default group exists