Добавление других полей модели AUTH_USER с помощью SimpleJWT в Django Rest Framework

Я использую Django Rest Framework с простым JWT. Все, что я хочу сделать, это получить или добавить дополнительное поле (например, first_name, last_name) с помощью Refresh & Access Token. Я хочу использовать модель AUTH_USER, а не пользовательскую модель User. Я пробовал использовать пользовательскую TokenObtainPairView но все равно не работает и я получаю только Refresh & Access Token. При проверке на jwt.io он показывает только id. Может ли кто-нибудь помочь? Есть ли что-нибудь на моей стороне, чтобы сделать. Пожалуйста, помогите

{ "token_type": "access", "exp": 1631511174,"jti":"13b76d1d5e2a4d978cc19fabbdc0fc9e", "user_id": 3 }


Views.py
from rest_framework_simplejwt.views import TokenObtainPairView

class TokenObtainPairView(TokenObtainPairView):
    # Replace the serializer with your custom
    serializer_class = MyTokenObtainPairSerializer
    # token_obtain_pair = TokenObtainPairView.as_view()

serializers.py
class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
def validate(self, attrs):
    data = super().validate(attrs)
    refresh = self.get_token(self.user)
    data['refresh'] = str(refresh)
    data.pop('refresh', None) # remove refresh from the payload
    data['access'] = str(refresh.access_token)

    # Add extra responses here
    data['username'] = self.user.username
    data['first_name'] = self.user.first_name
    data['last_name'] = self.user.last_name
    return data
Вернуться на верх