Django RF simplejwt仅返回令牌,而不返回用户对象

时间:2020-09-22 16:03:13

标签: django-rest-framework django-rest-framework-simplejwt

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

问题是,成功进行身份验证后,我需要在我的应用程序中包含一个用户对象。因此,当用户登录时,它仅返回令牌。但是如果登录,我需要将用户重定向到他们的页面。

我确定可以覆盖此/ token视图并返回我想要的任何对象,但是为什么现在以这种方式实现此目的?

1 个答案:

答案 0 :(得分:0)

看起来没有其他方法可以像这样重载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