Django restframework-jwt 认证token
-
-
-
点进去看源码,发现在序列化器对象中获取token值
-
-
找序列化器类位置,看用什么方法生成token及最后的返回值
-
-
再点进去看,生成token的方法在这,感兴趣的话可以继续往下找
-
-
现在,我们只关心他的响应内容(默认返回token值,我们需要更多的值),所以回到原来的位置,重写jwt_response_playload_head方法
-
-
具体的做法
-
在users/utils.py 中,创建
def jwt_response_payload_handler(token, user=None, request=None): """ 自定义jwt认证成功返回数据 """ return { 'token': token, 'id': user.id, 'username': user.username }
-
修改配置文件
# JWT配置 JWT_AUTH = { 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), 'JWT_RESPONSE_PAYLOAD_HANDLER': 'meiduo_admin.utils.jwt_response.jwt_response_payload_handler', }
-
-