from rest_framework_simplejwt.serializers import TokenObtainPairSerializer from datetime import datetime class MyTokenObtainPairSerializer(TokenObtainPairSerializer): @classmethod def get_token(cls, user): token = super().get_token(user) # Add custom claims token['iat'] = str(datetime.timestamp(datetime.now())) token["sub"] = { "acl":["anon"], } if user._id: token["sub"]["acl"].append(str(user._id)) if user.is_superuser: token["sub"]["acl"].append("admin") token["sub"]["login"] = user.username token["sub"]["_id"] = str(user._id) return token