Features: 1) Dynamic rate limiting based on DEBUG mode for authentication endpoints;
Fixes: 1) Add missing import for DEBUG from settings; Extra: Updated rate limit for consistency across TokenObtain, TokenRefresh, and TokenVerify views.
This commit is contained in:
parent
9ebc9c73e0
commit
11edfb9d4f
1 changed files with 4 additions and 3 deletions
|
|
@ -11,6 +11,7 @@ from rest_framework.response import Response
|
|||
from rest_framework_simplejwt.exceptions import TokenError
|
||||
from rest_framework_simplejwt.views import TokenViewBase
|
||||
|
||||
from evibes.settings import DEBUG
|
||||
from vibes_auth.docs.drf.views import TOKEN_OBTAIN_SCHEMA, TOKEN_REFRESH_SCHEMA, TOKEN_VERIFY_SCHEMA
|
||||
from vibes_auth.serializers import (
|
||||
TokenObtainPairSerializer,
|
||||
|
|
@ -26,7 +27,7 @@ class TokenObtainPairView(TokenViewBase):
|
|||
serializer_class = TokenObtainPairSerializer
|
||||
_serializer_class = TokenObtainPairSerializer
|
||||
|
||||
@method_decorator(ratelimit(key="ip", rate="5/h"))
|
||||
@method_decorator(ratelimit(key="ip", rate="10/h" if not DEBUG else "888/h"))
|
||||
def post(self, request, *args, **kwargs):
|
||||
return super().post(request, *args, **kwargs)
|
||||
|
||||
|
|
@ -36,7 +37,7 @@ class TokenRefreshView(TokenViewBase):
|
|||
serializer_class = TokenRefreshSerializer
|
||||
_serializer_class = TokenRefreshSerializer
|
||||
|
||||
@method_decorator(ratelimit(key="ip", rate="5/h"))
|
||||
@method_decorator(ratelimit(key="ip", rate="10/h" if not DEBUG else "888/h"))
|
||||
def post(self, request, *args, **kwargs):
|
||||
return super().post(request, *args, **kwargs)
|
||||
|
||||
|
|
@ -46,7 +47,7 @@ class TokenVerifyView(TokenViewBase):
|
|||
serializer_class = TokenVerifySerializer
|
||||
_serializer_class = TokenVerifySerializer
|
||||
|
||||
@method_decorator(ratelimit(key="ip", rate="5/h"))
|
||||
@method_decorator(ratelimit(key="ip", rate="10/h" if not DEBUG else "888/h"))
|
||||
def post(self, request, *args, **kwargs):
|
||||
try:
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
|
|
|
|||
Loading…
Reference in a new issue