22
33import django
44from django .contrib .auth import get_user_model
5- from django .contrib .auth .models import AbstractUser , AnonymousUser
5+ from django .contrib .auth .models import AbstractBaseUser , AnonymousUser
66from django .http import HttpRequest
77from django .utils .translation import gettext_lazy as _
88from ninja_extra .security import AsyncHttpBearer , HttpBearer
@@ -43,7 +43,7 @@ def get_validated_token(cls, raw_token) -> Type[Token]:
4343 }
4444 )
4545
46- def get_user (self , validated_token ) -> AbstractUser :
46+ def get_user (self , validated_token ) -> AbstractBaseUser :
4747 """
4848 Attempts to find and return a user using the given validated token.
4949 """
@@ -64,7 +64,7 @@ def get_user(self, validated_token) -> AbstractUser:
6464
6565 return user
6666
67- def jwt_authenticate (self , request : HttpRequest , token : str ) -> AbstractUser :
67+ def jwt_authenticate (self , request : HttpRequest , token : str ) -> AbstractBaseUser :
6868 request .user = AnonymousUser ()
6969 validated_token = self .get_validated_token (token )
7070 user = self .get_user (validated_token )
@@ -86,7 +86,7 @@ class JWTStatelessUserAuthentication(JWTBaseAuthentication, HttpBearer):
8686 def authenticate (self , request : HttpRequest , token : str ) -> Any :
8787 return self .jwt_authenticate (request , token )
8888
89- def get_user (self , validated_token : Any ) -> Type [AbstractUser ]:
89+ def get_user (self , validated_token : Any ) -> Type [AbstractBaseUser ]:
9090 """
9191 Returns a stateless user object which is backed by the given validated
9292 token.
@@ -119,7 +119,7 @@ def default_user_authentication_rule(user) -> bool:
119119 class AsyncJWTBaseAuthentication (JWTBaseAuthentication ):
120120 async def async_jwt_authenticate (
121121 self , request : HttpRequest , token : str
122- ) -> Type [AbstractUser ]:
122+ ) -> Type [AbstractBaseUser ]:
123123 request .user = AnonymousUser ()
124124 get_validated_token = sync_to_async (self .get_validated_token )
125125 validated_token = await get_validated_token (token )
0 commit comments