Если нет возможности "переписать по человечески" и вы точно уверены что там "не по человечески", то три варианта:
- Писать свой context_processors и туда добавить всё что вы хотите получать от "классического" варианта. То есть дублировать классический функционал.
- Писать кастомную функцию, работающую с этой кастомной моделью пользователя. И везде где вам нужно, работать с этой функцией. То есть дублировать классический функционал.
- Геморно, но возможно. Переопределить AuthenticationMiddleware
Кстати, по сути для п.1 нужна та же самая "функция". Просто способы вызова разные.
Но лучше конечно же переписать по нормальному. Хотя и не всегда бизнесу это нужно (из-за 1-2 мелких правок, переписывать легаси код).