We have a working fix using badgr-server without needing any model changes!! .
On badgr server code/apps/mainsite/settings.py go to middleware classes and remove/comment ‘badgeuser.middleware.InactiveUserMiddleware’,
Now go to badgr server /code/apps/issuer/admin.py and remove entity_id from the readonly fields of BadgeClassAdmin.
You would have to edit the slug using the barebones interface(can’t figure out the commit that made entity_id field readonly on badgr-ui).
Once it is editable you can make it match the query edx sends once a particular badge is earnt. Badge queries sent by edx follow the format openedx__coursebadgeslug provided that openedx__course is used as a issuing component and badgeslug is the slug we have defined for this badge class on edx from the admin panel.
I would expect the queries to follow the pattern of issuing componentbadgeslug if you don’t use openedx__course as an issuing component but I am afraid to test it out after seeing some odd behaviour when testing similar functionalities.
The solution described above, 2 single statement file changes on a badgr server instalation, works like a charm and doesnt kick the user out after earning a badge