Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Rest Framework JWT-使用Extend User定制负载_Python_Django_Django Rest Framework_Django Rest Framework Jwt - Fatal编程技术网

Python Django Rest Framework JWT-使用Extend User定制负载

Python Django Rest Framework JWT-使用Extend User定制负载,python,django,django-rest-framework,django-rest-framework-jwt,Python,Django,Django Rest Framework,Django Rest Framework Jwt,我有一个扩展用户,其示例序列化程序配置文件是扩展用户,而不是抽象用户 { "id": 3, "url": "http://localhost:8000/api/v1/users/demo/", "username": "demo", "first_name": "First", "last_name": "Demo", "profile": { "gender": null, "location": "Sa Pa"

我有一个扩展用户,其示例序列化程序配置文件是扩展用户,而不是抽象用户

 {
    "id": 3,
    "url": "http://localhost:8000/api/v1/users/demo/",
    "username": "demo",
    "first_name": "First",
    "last_name": "Demo",
    "profile": {
        "gender": null,
        "location": "Sa Pa",
        "date_of_birth": null,
        "job_title": null,
        "phone_number": null,
        "fax_number": "",
        "website": "",
        "intro": "",
        "bio": "",
        "interested_in": null,
        "languages": null,
        "quotes": null,
        "nickname": null
    }
}
如何使用上述所有字段定制有效负载,并使用axios获取有效负载? 现在它只需获得有效载荷:

authUser:Object
email:"test@gmail.com"
exp:1509183691
user_id:1
username:"First Demo"
token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImxlY29uZ3RvYW4iLCJ1c2VyX2lkIjoxLCJlbWFpbCI6ImRyYWZ0bGlnb25ncXVhbjdAZ21haWwuY29tIiwiZXhwIjoxNTA5MTgzNjkxfQ.KSEp-7g-SGDbqfspedNwkT1rABFi0UQ45yKDJDTX2zA"
我跟随这个链接:但这不是工作 请帮帮我

以下是我所做的:

创建您自己的jwt\u响应\u负载\u处理程序:

将自定义响应负载处理程序放入settings.py文件:

当您登录时,您将返回带有序列化数据的令牌和用户。

以下是我所做的:

创建您自己的jwt\u响应\u负载\u处理程序:

将自定义响应负载处理程序放入settings.py文件:


当您登录时,您可以使用序列化数据返回令牌和用户。

我可以使用什么工具检查负载是否成功@Gabriel?我使用的是django rest framework可浏览api,只需在本地运行服务器并转到您的本地主机:8000/您的\u login\u url您将获得一个很好的表单,您可以在其中登录并检查响应。如果用户更改密码,我该如何管理,旧令牌将有效?我可以使用什么工具检查负载是否成功@Gabriel?我使用的是django rest framework browsable api,只要在本地运行服务器并转到您的localhost:8000/您的\u login\u url,您就会得到一个很好的表单,您可以在其中登录并检查响应。如果用户更改密码,我该如何管理,旧令牌将是有效的,对吗
from your_serializers import UserSerializer

def jwt_response_payload_handler(token, user=None, request=None):
    return {
        'token': token,
        'user': UserSerializer(user, context={'request':request}).data
    }
JWT_AUTH = {
    ...,                
    'JWT_RESPONSE_PAYLOAD_HANDLER': 'path_to.jwt_response_payload_handler',
    ...
}