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

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase