21 lines
710 B
Python
21 lines
710 B
Python
from rest_framework.response import Response
|
|
from rest_framework.views import APIView
|
|
from rest_framework.permissions import IsAuthenticated
|
|
from rest_framework_simplejwt.tokens import RefreshToken
|
|
|
|
from api.authentication.serializers import LogoutSerializer
|
|
|
|
|
|
# Logout View
|
|
class LogoutView(APIView):
|
|
permission_classes = [IsAuthenticated]
|
|
serializer_class = LogoutSerializer
|
|
|
|
def post(self, request):
|
|
try:
|
|
refresh_token = request.data["refresh"]
|
|
token = RefreshToken(refresh_token)
|
|
token.blacklist()
|
|
return Response({"message": "Logout successful"})
|
|
except Exception as e:
|
|
return Response({"error": str(e)}, status=400)
|