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

问题描述

我有React应用和Redux商店。我正在进行身份验证。我的后端在Django RF上,对于JWT身份验证,我使用了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