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
我有 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