令牌密钥名称 django-rest-auth
Token key name django-rest-auth
我在我的 Django 项目中使用 django-rest-auth==0.9.3
(我正在为移动应用程序制作 REST API),我遇到了这个问题:
在 {base_url}/api/users/login/ 上使用的身份验证后,API 在 JSON 中为我提供了用户的令牌,但此令牌的键值是 'key':
{
"key": "1eca799e88fd76bea3b33c53c33d58e4940bc7b8"
}
我希望它是 "token"。
有谁知道它的特殊属性或如何自定义我的 TokenSerializer 或任何其他解决方案?
您可以编写自定义序列化程序
class TokenSerializer(serializers.ModelSerializer):
"""
serializer for getting the user token for authentication
"""
token = serializers.CharField(source='key')
class Meta:
model = Token
使用此序列化程序return响应
正如评论中提到的 @Bear Brown,在您的代码中使用自定义序列化器 class,
from rest_auth.models import TokenModel
from rest_framework import serializers
class MyCustomTokenSerializer(serializers.ModelSerializer):
token = serializers.CharField(source='key')
class Meta:
model = TokenModel
fields = ('token',)
和
在settings.py
中添加序列化程序的路径,
REST_AUTH_SERIALIZERS = {
'TOKEN_SERIALIZER': 'path.to.custom.MyCustomTokenSerializer',
}
我在我的 Django 项目中使用 django-rest-auth==0.9.3
(我正在为移动应用程序制作 REST API),我遇到了这个问题:
在 {base_url}/api/users/login/ 上使用的身份验证后,API 在 JSON 中为我提供了用户的令牌,但此令牌的键值是 'key':
{
"key": "1eca799e88fd76bea3b33c53c33d58e4940bc7b8"
}
我希望它是 "token"。 有谁知道它的特殊属性或如何自定义我的 TokenSerializer 或任何其他解决方案?
您可以编写自定义序列化程序
class TokenSerializer(serializers.ModelSerializer):
"""
serializer for getting the user token for authentication
"""
token = serializers.CharField(source='key')
class Meta:
model = Token
使用此序列化程序return响应
正如评论中提到的 @Bear Brown,在您的代码中使用自定义序列化器 class,
from rest_auth.models import TokenModel
from rest_framework import serializers
class MyCustomTokenSerializer(serializers.ModelSerializer):
token = serializers.CharField(source='key')
class Meta:
model = TokenModel
fields = ('token',)
和
在settings.py
中添加序列化程序的路径,
REST_AUTH_SERIALIZERS = {
'TOKEN_SERIALIZER': 'path.to.custom.MyCustomTokenSerializer',
}