You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

18 lines
561 B

from django.contrib.auth import login
from django.utils.deprecation import MiddlewareMixin
from rest_framework.authtoken.models import Token
class TokenAuthLoginMiddleware(MiddlewareMixin):
def process_request(self, request):
if 'token' in request.GET:
token = request.GET.get('token')
if token:
try:
token = Token.objects.get(key=token)
user = token.user
login(request, user)
except Token.DoesNotExist:
pass