Add jwt logout view

This commit is contained in:
Aroy-Art 2025-02-02 23:45:29 +01:00
parent 4eb22bd0b8
commit 13b4478911
Signed by: Aroy
GPG key ID: 583642324A1D2070
2 changed files with 17 additions and 1 deletions

View file

@ -1,7 +1,8 @@
from django.urls import path
from .views import ProfileView
from .views import ProfileView, LogoutView
urlpatterns = [
path("logout/", LogoutView.as_view(), name="logout"),
path("profile/", ProfileView.as_view(), name="profile"),
]

View file

@ -1,10 +1,25 @@
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework_simplejwt.tokens import RefreshToken
from .serializers import UserSerializer
# Logout View
class LogoutView(APIView):
permission_classes = [IsAuthenticated]
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)
class ProfileView(APIView):
permission_classes = [IsAuthenticated]