Skip to content

Commit 4560581

Browse files
authored
refactor: use AbstractBaseUser instead of AbstractUser for compatibility (#133)
1 parent fea126b commit 4560581

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

ninja_jwt/authentication.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import django
44
from 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
66
from django.http import HttpRequest
77
from django.utils.translation import gettext_lazy as _
88
from 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

Comments
 (0)