Вот строка в источнике django.contrib.auth.__init__.login
, которая регистрирует пользователя.
request.session[SESSION_KEY] = user.id
Выход из системы полностью сбрасывает сеанс, поэтому наличие этого ключа является аутентифицированным пользователем.
from django.contrib.auth import SESSION_KEY
from django.contrib.sessions.models import Session
try:
session = Session.objects.get(session_key=my_key)
session.get_decoded()[SESSION_KEY]
return (True, "Authenticated")
except (Session.DoesNotExist, KeyError):
return (False, "Not authenticated")
PS: неплохо, чтобы aeby вытащил из движка сессий, если вы не используете сеансы БД.