Django RF simplejwt returns 只有令牌,不是用户对象

Django RF simplejwt returns only token, not user object

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

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

我当然可以覆盖此 /token 视图和 return 我想要的任何对象,但为什么现在以这种方式实现?

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