from django.contrib.auth.backends import ModelBackend
from django.contrib.auth.models import User


class TokenAuthBackend(ModelBackend):
    def authenticate(self, request, token=None):
        if not token:
            token = request.headers.get('Iric-Auth-Token')
        try:
            return User.objects.get(profile__api_token=token)
        except User.DoesNotExist:
            return None