Move: auth to new api seperate app

This commit is contained in:
Aroy-Art 2025-02-08 17:36:36 +01:00
parent 5a3c568a15
commit 6ca01d7bdf
Signed by: Aroy
GPG key ID: 583642324A1D2070
5 changed files with 39 additions and 7 deletions

View file

View file

@ -0,0 +1,6 @@
from django.apps import AppConfig
class ApiConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "api.authentication"

View file

@ -0,0 +1,14 @@
from django.urls import path
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
from api.authentication.views import LogoutView
urlpatterns = [
path("logout/", LogoutView.as_view(), name="logout"),
path("token/", TokenObtainPairView.as_view(), name="token_obtain_pair"),
path("token/refresh/", TokenRefreshView.as_view(), name="token_refresh"),
]

View file

@ -0,0 +1,18 @@
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
# 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)

View file

@ -1,12 +1,6 @@
from django.urls import path, include
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
path("api/user/", include("api.user.urls")),
path("api/token/", TokenObtainPairView.as_view(), name="token_obtain_pair"),
path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"),
path("auth/", include("api.authentication.urls")),
]