[Fixed]-Simple JWT add extra field to payload data in token

16👍

I change my CustomTokenObtainPairSerializer to:

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
    @classmethod
    def get_token(cls, user):
        token = super().get_token(user)
        token['first_name'] = user.first_name
        token['last_name'] = user.last_name
        token['username'] = user.username
        token['is_superuser'] = user.is_superuser
        return token
👤uyarc

0👍

You can also add the data to the body of your response if you don’t want to decode the JWT.

class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
    def validate(self, attrs):
        data = super().validate(attrs)
        data['first_name'] = self.user.first_name
        data['last_name'] = self.user.last_name
        data['username'] = self.user.username
        data['is_superuser'] = self.user.is_superuser
        return data

Leave a comment