diff --git a/oidc_auth/backend.py b/oidc_auth/backend.py index 94279b65a..914142d6b 100644 --- a/oidc_auth/backend.py +++ b/oidc_auth/backend.py @@ -166,8 +166,9 @@ def create_or_update(self, user: User, claims): added_groups = groups.difference(django_groups) for removed_group in removed_groups: - group = Group.objects.get(name=removed_group) - user.groups.remove(group) + # Group may have been deleted out-of-band between logins - skip if gone + if group := Group.objects.filter(name=removed_group).first(): + user.groups.remove(group) for added_group in added_groups: # note that we trust the OIDC connector as it can already make admins