from social_core.pipeline.social_auth import associate_by_email from django.contrib.auth.models import Group def staff_me_up(backend, details, response, uid, user, *args, **kwargs): user.is_staff = True try: user.groups.set([Group.objects.get(name='member')]) except Group.DoesNotExist: pass user.save() def associate_by_personal_email(backend, details, user=None, *args, **kwargs): return associate_by_email(backend, { 'email': details.get('personal_email'), }, user, *args, **kwargs)