我需要做些什么才能自定义url(r'^auth/login/', obtain_jwt_token)
视图以允许我将数据添加到JWT令牌
我有一个独立的Web应用程序使用的django-rest-framework API。我想要的是返回登录用户的角色和权限以及djangorestframework-jwt已经返回的Web应用程序。
我已经在python词典中拥有角色,但我无法弄清楚覆盖默认有效负载所需的内容。
user_payload = {'用户':用户,'角色':角色}
我认为这就像更换用户'一样简单。在payload = jwt_payload_handler(user)
中使用我的user_payload,但后来遇到了序列化程序错误。有更清洁/更简单的方法吗?
djangorestframework == 3.4.7,djangorestframework-jwt == 1.8.0
答案 0 :(得分:2)
<强> JWT_RESPONSE_PAYLOAD_HANDLER 强> 负责控制登录或刷新后返回的响应数据。覆盖以返回自定义响应,例如包括用户的序列化表示。
默认返回JWT令牌。
示例:
def jwt_response_payload_handler(token, user=None, request=None):
return {
'token': token,
'user': UserSerializer(user).data
}
默认为{'token': token}