Skip to content

Commit 1caed10

Browse files
feat: Add custom get user queryset method (fixes #903)
1 parent 73b7593 commit 1caed10

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

rest_framework_simplejwt/authentication.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Optional, TypeVar
1+
from typing import Optional, TypeVar, Any
22

33
from django.contrib.auth import get_user_model
44
from django.contrib.auth.models import AbstractBaseUser
@@ -121,6 +121,9 @@ def get_validated_token(self, raw_token: bytes) -> Token:
121121
}
122122
)
123123

124+
def get_user_queryset(self, user_id: Any = None) -> Optional[AuthUser]:
125+
return self.user_model.objects.get(**{api_settings.USER_ID_FIELD: user_id})
126+
124127
def get_user(self, validated_token: Token) -> AuthUser:
125128
"""
126129
Attempts to find and return a user using the given validated token.
@@ -133,7 +136,9 @@ def get_user(self, validated_token: Token) -> AuthUser:
133136
) from e
134137

135138
try:
136-
user = self.user_model.objects.get(**{api_settings.USER_ID_FIELD: user_id})
139+
user = self.get_user_queryset(user_id)
140+
if not user:
141+
raise AuthenticationFailed(_("User not found"), code="user_not_found")
137142
except self.user_model.DoesNotExist as e:
138143
raise AuthenticationFailed(
139144
_("User not found"), code="user_not_found"

0 commit comments

Comments
 (0)