Django rest framework Django RF simplejwt只返回令牌,不返回用户对象

Django rest framework Django RF simplejwt只返回令牌,不返回用户对象,django-rest-framework,django-rest-framework-simplejwt,Django Rest Framework,Django Rest Framework Simplejwt,我有React应用程序和Redux商店。我现在正在进行身份验证。我的后端在Django RF上,对于JWT auth,我使用simplejwt库。问题是,这个lib有一个“开箱即用”视图(/token),它在成功时返回一个JWT令牌 问题是,成功认证后,我的应用程序中需要有一个用户对象。因此,当用户登录时,它只返回一个令牌。但如果用户登录,我需要将其重定向到他们的页面 我当然可以重写这个/token视图并返回我想要的任何对象,但是为什么现在要这样实现呢?看起来没有其他方法可以像这样重写seria

我有React应用程序和Redux商店。我现在正在进行身份验证。我的后端在Django RF上,对于JWT auth,我使用simplejwt库。问题是,这个lib有一个“开箱即用”视图(/token),它在成功时返回一个JWT令牌

问题是,成功认证后,我的应用程序中需要有一个用户对象。因此,当用户登录时,它只返回一个令牌。但如果用户登录,我需要将其重定向到他们的页面


我当然可以重写这个/token视图并返回我想要的任何对象,但是为什么现在要这样实现呢?

看起来没有其他方法可以像这样重写serializers.py中的validate()方法:

class UserTokenObtainPairSerializer(TokenObtainPairSerializer):
    def validate(self, attrs):
        data = {
            'token': super().validate(attrs),
            'id': self.user.id,
            'email': self.user.email,
            'name': self.user.name,
        }
        return data

将返回一个令牌,以便客户端(如您的React应用程序)可以使用它发出经过身份验证的请求。这回答了你的问题吗?我需要在Redux存储中存储一个用户实例。我可能只需要一个令牌就可以从应用程序中的request.user获取用户实例,但我需要一些用户信息在页面上呈现,如电子邮件、姓名等。因此,我觉得在成功登录后返回它是这里最好的解决方案。我已经发布了我是如何实现它的。