django-rest-auth:身份验证成功后如何获取用户信息?
django-rest-auth: how to get user info after successful authentication?
django-rest-auth
returns 验证成功后使用 rest_auth.serializers.TokenSerializer
的令牌。如何覆盖此序列化程序或添加我自己的序列化程序,以便在成功验证后获取用户名等用户信息,而不是令牌密钥?
我通过定义自定义序列化程序解决了这个问题。
from django.contrib.auth.models import User
from rest_framework import serializers
from rest_auth.models import TokenModel
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email')
class TokenSerializer(serializers.ModelSerializer):
user = UserSerializer()
class Meta:
model = TokenModel
fields = ('key', 'user')
您也可以使用 depth
选项轻松生成嵌套表示,但在这种情况下,您也会收到 password
字段,这不是预期和预期的。
django-rest-auth
returns 验证成功后使用 rest_auth.serializers.TokenSerializer
的令牌。如何覆盖此序列化程序或添加我自己的序列化程序,以便在成功验证后获取用户名等用户信息,而不是令牌密钥?
我通过定义自定义序列化程序解决了这个问题。
from django.contrib.auth.models import User
from rest_framework import serializers
from rest_auth.models import TokenModel
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email')
class TokenSerializer(serializers.ModelSerializer):
user = UserSerializer()
class Meta:
model = TokenModel
fields = ('key', 'user')
您也可以使用 depth
选项轻松生成嵌套表示,但在这种情况下,您也会收到 password
字段,这不是预期和预期的。