I would try to approach this problem by using django.contrib.auth.models.Group
and django.contrib.auth.models.Permission
. Create one general group with custom permissions to your apps' functionality and add all your normal users to that.
Save accounts created by python-social-auth
in default django.contrib.auth.models.User
but create seperate Group without any permissions for them.
If necessary create some scheduled task ( either with cronjob or Celery ) which will go through users and deactivate/delete those who expired.