1234567891011121314151617181920212223 |
- from django.contrib import auth
- from django.views.decorators.csrf import csrf_protect
- from rest_framework import status
- from rest_framework.decorators import api_view, permission_classes
- from rest_framework.response import Response
- from misago.users.forms.auth import AuthenticationForm
- from misago.users.rest_permissions import UnbannedAnonOnly
- from misago.users.serializers import AuthenticatedUserSerializer
- @api_view(['POST'])
- @permission_classes((UnbannedAnonOnly,))
- @csrf_protect
- def login(request):
- form = AuthenticationForm(request, data=request.data)
- if form.is_valid():
- auth.login(request, form.user_cache)
- return Response(AuthenticatedUserSerializer(form.user_cache).data)
- else:
- return Response(form.get_errors_dict(),
- status=status.HTTP_400_BAD_REQUEST)
|