Simplejwt返回带Token的用户信息

2023-12-14 01:38

本文主要是介绍Simplejwt返回带Token的用户信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 说明
    • 1. 创建 Serializer 文件
    • 2. 创建 Views 文件
    • 3. 配置 `urls.py`
    • 4. 测试

说明

接上篇:DjangoRestFramework中的simplejwt使用

  • https://blog.csdn.net/ShyLoneGirl/article/details/117759152

为使客户端请求 Token 同时返回登录账户基本信息,作如下处理。

1. 创建 Serializer 文件

命名为 login_seri.py ,代码如下,继承自 Simplejwt 包的类。

from rest_framework_simplejwt.serializers import *class TokenObtainPairSerializer(TokenObtainSerializer):@classmethoddef get_token(cls, user):return RefreshToken.for_user(user)def validate(self, attrs):data = super().validate(attrs)refresh = self.get_token(self.user)cUser = User.objects.get(username=self.user)data['username'] = cUser.usernamedata['mobile'] = cUser.mobiledata['email'] = cUser.emaildata['is_admin'] = cUser.is_admindata['last_login'] = cUser.last_loginif api_settings.UPDATE_LAST_LOGIN:update_last_login(None, self.user)return data

2. 创建 Views 文件

命令为 login.py

from rest_framework_simplejwt.views import *
from UserManagement.serializers import login_sericlass TokenObtainPairViewUM(TokenViewBase):"""Takes a set of user credentials and returns an access and refresh JSON webtoken pair to prove the authentication of those credentials."""serializer_class = login_seri.TokenObtainPairSerializertoken_obtain_pair = TokenObtainPairViewUM.as_view()

3. 配置 urls.py

from UserManagement.views.login import TokenObtainPairViewUMurlpatterns = [path("api/token/", TokenObtainPairViewUM.as_view(), name="token_obtain_pair"),
]

4. 测试

执行运行命令

E:\SweetYaya\MyProj01> python manage.py runserver

获取Token

打开 Postman 工具,设置如下

  • 选择 post 方式
  • 填写请求地址:http://127.0.0.1:8000/api/token/
  • 添加头信息 Content-Type: application/json
    在这里插入图片描述

.
.
.
.
.
.
桃花仙人种桃树,又摘桃花换酒钱_

这篇关于Simplejwt返回带Token的用户信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490689

相关文章

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设