默认的返回值仅有token,我们还需在返回值中增加username和id,方便在客户端页面中显示当前登陆用户

通过修改该视图的返回值可以完成我们的需求。

在user/utils.py中,创建

def jwt_response_payload_handler(token, user=None, request=None):
"""
拓展jwt返回的数据
:param token: jwt token字符串
:param user: 当前登录对象 model类模型对象
:param request: rest_framwork的request对象
:return:
"""
自定义jwt认证成功返回数据
"""
return {
'token': token,
'id': user.id,
'username': user.username
}

同时还需要在settings.py文件中配置,不然jwt无法找到并使用我们自定义的返回数据

# JWT
JWT_AUTH = {
'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),
# 使用我们自定义的函数返回除了token以外的其它数据
'JWT_RESPONSE_PAYLOAD_HANDLER': 'users.utils.jwt_response_payload_handler',
}

文档解释

如何拓展jwt返回的数据的更多相关文章

  1. 【转】ASP.NET Core WebAPI JWT Bearer 认证失败返回自定义数据 Json

    应用场景:当前我们给微信小程序提供服务接口,接口中使用了权限认证这一块,当我使用 JWT Bearer 进行接口权限认证的时候,返回的结果不是我们客户端想要的,其它我们想要给客户端返回统一的数据结构, ...

  2. Asp.Net Core基于JWT认证的数据接口网关Demo

    近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo.朋友自己开了个公司,接到的一个升级项目,客户要求用Aps.Net Core做数据网关服务且基于JWT认证实现对 ...

  3. redis的lua脚本拓展,返回nil及其判断

    redis自带的lua脚本 127.0.0.1:6379> hget team wyc "{\"name\":\"wyycc\",\" ...

  4. Web API返回JSON数据

    对Web API新手来说,不要忽略了ApiController 在web API中,方法的返回值如果是实体的话实际上是自动返回JSON数据的例如: 他的返回值就是这样的: { "Conten ...

  5. 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。

    开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解. 我这篇博文的标题之所以用了三句,是为了方便其他人好查找: 这里介绍的方法有 ...

  6. spring jpa 实体互相引用返回restful数据循环引用报错的问题

    spring jpa 实体互相引用返回restful数据循环引用报错的问题 Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里 Problem对象,引用了标签列表ProblemLa ...

  7. OpenLayers添加点【php请求MySQL数据库返回GeoJSON数据】

    php请求MySQL数据库返回GeoJSON数据的实现方法请参见: http://www.cnblogs.com/marost/p/6234514.html OpenLayers[v3.19.1-di ...

  8. Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理

    Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理 今天在使用spring4.1.4,使用ResponseBody注解返回JSON格式的数据的时候遇到406错误. 解决 ...

  9. loadrunner关联——对服务器返回的数据选择性提交

    在跟进项目的过程中,才体会到自己之前闷头看书再写小小的测试程序验证的学习方式很没有效率,知道动态关联,却也只是会参数化式的动态关联,这种关联是我们预先知道要提交的数据而进行的关联:更高一级的可能就是使 ...

  10. 深入了解Struts2返回JSON数据的原理

    首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...

随机推荐

  1. 通杀无限 debugger,目前只有 1% 的人知道!

    前言 相信很多小伙伴在进行 web 逆向的时候,都遇到过无限 debugger.最简单的方法,在 debugger 位置,点击行号,右键 Never pause here,永远不在此处断下即可.但是这 ...

  2. 从零开始配置 vim(4)——键盘映射的一些技巧

    通过前面的学习,我们已经知道了如何进行键盘映射,并且也知道了在任何场合应该使用非递归版本的映射.这篇再介绍一些使用关于快捷键映射的内容作为收尾 快速编辑 vimrc 文件 通过前面掌握的知识,相信各位 ...

  3. SpringAll

    目录 Spring Cloud 01-初识SpringCloud与微服务 02-SpringCloud-Feign声明式服务的调用 Spring Security 01-SpringSecurity- ...

  4. SqlSugar Code First

      注意点 1.SqlSugar Code First可以快速开发,使用起来也要分阶段使用,比如早期随便搞,中后期需要禁用一些功能保证数据安全(标题6和7 ) 2.数据库账号需要有比较高的权限, 3. ...

  5. 驱动开发:内核封装TDI网络通信接口

    在上一篇文章<驱动开发:内核封装WSK网络通信接口>中,LyShark已经带大家看过了如何通过WSK接口实现套接字通信,但WSK实现的通信是内核与内核模块之间的,而如果需要内核与应用层之间 ...

  6. Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--PDF预览器框选

    项目地址: Pdfium.Net:https://github.com/1000374/Pdfium.Net PdfiumViewer:https://github.com/1000374/Pdfiu ...

  7. WinForm之ComboBox实现模糊查询

    ComboBox实现模糊查询 第一步:在Form_Load事件中绑定数据源 第二步:写一个方法,返回一个List<string>类型的集合来存储控件中的Items 第三步:在Form_Lo ...

  8. 关于Docker容器中的DNS配置

    Docker: 1.启动时指定: docker run --dns 8.8.8.8 busybox:latest 2.全局配置: vi /etc/docker/daemon.json { " ...

  9. P8659 [蓝桥杯 2017 国 A] 数组操作 题解

    题目链接:洛谷 或者 蓝桥杯 或者 C语言中文网 几个OJ的AC记录: 忘了哪个OJ的: 洛谷: C语言中文网: 蓝桥杯: emmmmmmm,好像每个OJ给的时限和空间还不一样,蓝桥杯官方还给了 $3 ...

  10. jetson nano ssh远程连接控制

    jetson orin nano ssh远程连接 准备:好用的网线一根,jetson orin nano一台,将网线两端连接nano的网口以及当作主机的笔记本的网口 PS:确保双方网线连接成功,网线设 ...