# # settings.py
from datetime import timedelta
# # 认证
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
}
SIMPLE_JWT = {
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
'ROTATE_REFRESH_TOKENS': True,
# 'AUTH_HEADER_TYPES': ("Bearer",),
'AUTH_HEADER_NAME': 'HTTP_TOKEN',
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',
'rest_framework_simplejwt.tokens.SlidingToken'),
}
# # custom_token_serializer.py
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer, TokenObtainSlidingSerializer
class MyTokenObtainPairSerializer(TokenObtainSlidingSerializer):
def validate(self, attrs):
data = super().validate(attrs)
username = self.user.username
data["username"] = username
@classmethod
def get_token(cls, user):
token = super().get_token(user)
token['username'] = user.username
return token
![](https://img-blog.csdnimg.cn/d3468ec7e6b44818a35b2cc92a301ed1.png)