一文1700字使用Postman搞定各种接口token实战(建议收藏)

现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才允许用户访问接口。

01、设置Bearer Token

如果后端项目使用的是Bearer Token进行安全认证,那么使用Postman这样操作。

设置你的环境变量

点击右上角的小眼睛,然后点击Add,添加

填写你的环境名和你的变量名

选择你新建的环境

项目集合设置认证方式及环境变量

登录接口的脚本

这个脚本的意思就是说,你的用户名和密码正确的前提下,访问后端接口会给你返回一个Token,你将这个Token储存在刚刚设置好的环境变量中,当你用别的接口访问时,由于整个项目刚刚已经设置好了访问权限使用的Token,所以你所有的接口都会携带这个token去访问,从而数据权限被后台接收和使用

// pm代表的就是postman,使用js编写脚本即可const responseJson = pm.response.json();console.log('-----------',responseJson)const accesssToken = responseJson.resultif('200'==responseJson.code){pm.environment.set('accessToken',accesssToken)}

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

02、通过脚本设置Headers

Spring Security的在访问时会向请求头添加一个accessToken,可以使用脚本在集合批量添加,也可以对每一个Api手动添加Header,不过那样会很麻烦,所以我这边用脚本批量添加的方便方式。

登录请求设置环境变量

从登录结果获取accessToken,将accessToken设置到环境变量中

脚本如下

const responseJson = pm.response.json();console.log('-----------',responseJson)const accesssToken = responseJson.resultif('200'==responseJson.code){pm.environment.set('accessToken',accesssToken)}

设置集合的发送请求脚本

点选集合->进入Pre-request Scrip(请求前脚本)页签->编写脚本

脚本如下:

console.log("----addHeader------", pm.environment.get("accessToken"));var accessToken = pm.environment.get("accessToken");// 所有请求在请求前都在请求头中设置accessTokenpm.request.addHeader("accessToken:"+accessToken);这样设置后,所有的请求都会携带登录的accessToken了。

登录接口抹除accessToken

因为我们项目的过滤器没有设置解析accessToken的脏数据,所以一旦有老的token,就会报错超时,所以登录接口在访问时一定要抹除accessToken,登录接口的Pre-request设置脚本如下:

// 移除登录接口的accessToken, 防止过期的token被过滤器解析,影响登录接口pm.request.headers.remove("accessToken")

END今天的分享就到此结束了,点赞关注不迷路~  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/135108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gradle笔记 四 Gradle的核心 TASK

文章目录 Task任务入门任务的行为任务的依赖方式任务执行常见的任务(*)项目报告相关任务调试相关选项性能选项守护进程选项日志选项其它(*) 任务定义方式任务类型任务的执行顺序动态分配任务任务的关闭与开启任务的超时任务的查找任务的规则任务的 onlyI…

Flutter转换png图片为jpg图片

1.需求 在xxx产品需求中,需要将png图片转为jpg图片。 2.引用库 image: ^4.1.3 Dart图像库提供了以各种图像文件格式加载、保存和操作图像的功能。 该库可以与dart:io和dart:html一起用于命令行、Flutter和web应用程序。 注:4.0是该库先前版本的主要修订…

信息科技风险管理:合规管理、技术防控与数字化

信息科技对金融业务发展所起的作用是举足轻重的。近年来,金融机构在战略规划中相继引入科技引领的概念。作为金融机构信息科技从业人员,我们笃信信息科技是一个非常有用的工具,一个兼具产品思维和管理思维、拥有高质增效能力的工具。 这个工…

Flink之状态管理

Flink状态管理 状态概述状态分类 键控、按键分区状态概述值状态 ValueState列表状态 ListStateMap状态 MapState归约状态 ReducingState聚合状态 Aggregating State 算子状态概述列表状态 ListState联合列表状态 UnionListState广播状态 Broadcast State 状态有效期 (TTL)概述S…

mini-imagenet数据集下载-阿里云网盘不限速下载

mini-imagenet数据集下载-阿里云网盘不限速下载 提取码:m2mk Mini-ImageNet 数据集是 ImageNet 数据集的一个小型子集,用于计算机视觉和深度学习研究。它通常包含一组经过手动筛选和采样的图像,这些图像属于来自 ImageNet 大型数据集的少数类…

电机调速程序

/******************************************************************** * 名称 : 电机调速 * 功能 : 通过P1.0口来控制直流电机的旋转的快慢 /***********************************************************************/ #include <reg52.h> #define uchar unsigned …

换服还是掀桌?哪条才是程序员的出路?

站在时代的风口浪尖&#xff0c;猪都能起飞。 大数据互联网正是时代的宠儿&#xff0c;IT行业的发展也正如火如荼。 人人都眼红程序员的高薪资&#xff0c;认为他们吃着时代的红利。 但是三百六十行&#xff0c;行行出社畜。”996“也好&#xff0c;甚至"007"也罢…

php生成个性二维码

本篇引用 QRcode PHP QR Code download | SourceForge.net 无需composer即可生成 下载后的类文件是一个压缩包&#xff0c;里边包含很多文件和演示demo&#xff0c;我们只需要里的phpqrcode.php这一个文件就可以生成二维码了。它是一个多个类的集合文件&#xff0c;我们只用…

OpenAI开发者大会掀起风暴:GPT模型价格狂降50%,应用商店即将亮相,AI技术将引爆全球!

OpenAI首届开发者大会召开了&#xff01; 关键信息&#xff1a; GPT-4升级版GPT-4 Turbo来了&#xff0c;上下文窗口达到128k&#xff0c;为GPT-4的4倍&#xff1b;OpenAI还降低了几乎所有模型的API使用价格&#xff0c;整体便宜了一半多&#xff1b;GPT-4系列的多模态能力向B…

竞赛选题 深度学习手势识别 - yolo python opencv cnn 机器视觉

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

ZYNQ_project:key_beep

通过按键控制蜂鸣器工作。 模块框图&#xff1a; 时序图&#xff1a; 代码&#xff1a; /*1位按键消抖 */ module key_filter (input wire sys_clk ,input wire sys_rst_n ,input wire key_in ,output …

LightDB23.4 支持普通表修改为list分区表

功能介绍 为了兼容Oracle数据库的功能&#xff0c;在LightDB23.4版本上支持修改普通表为List分区表。这个功能只在LightDB的Oracle兼容模式下生效。 使用示例 进入Oracle兼容模式的数据库 lightdboracle_test# show lightdb_dblevel_syntax_compatible_type ;lightdb_dblev…

AM@向量代数@向量基本概念和向量线性运算

文章目录 abstract向量的基本概念向量向量的坐标分解式和坐标&#x1f47a;向量的模向量的长度(大小)&#x1f47a;零向量单位向量&#x1f47a;方向向量非零向量的单位向量正规化向量夹角&#x1f47a; 向量方向角和向量间夹角投影几何描述向量的线性运算向量的加减运算向量的…

Linux中固定ip端口和修改ip地址

一&#xff0c;更改虚拟网络编辑器 1&#xff0c;首先启动VMware&#xff0c;选择自己要更改ip或固定ip的虚拟机&#xff0c;并找到虚拟网络配编辑器&#xff0c;点击进入 2&#xff0c;进入之后需要点击右下角获取管理员权限后才能修改&#xff0c;有管理员权限之后图片如下 …

C++笔记

模板 &#xff08;泛型编程&#xff09; 函数模板 语法&#xff1a; template <typename 形参名&#xff0c;typename 形参名&#xff0c;......> 返回类型 函数名(参数列表) {函数体 }定义函数模板时typename关键字可以替换成class&#xff0c;效果一样。 template&l…

技术分享 | app自动化测试(Android)--元素定位方式与隐式等待

元素定位是 UI 自动化测试中最关键的一步&#xff0c;假如没有定位到元素&#xff0c;也就无法完成对页面的操作。那么在页面中如何定位到想要的元素&#xff0c;本小节讨论 Appium 元素定位方式。 Appium的元素定位方式 定位页面的元素有很多方式&#xff0c;比如可以通过 I…

python使用selenium做自动化,最新版Chrome与chromedriver不兼容

目前Chrome版本是118.0.5993.118 下方是版本对应的下载地址&#xff1a; chrome版本118&#xff1a; https://download.csdn.net/download/qq_35845339/88510476 chrome版本119&#xff1a; chromedriverlinux64https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testin…

各种NoSQL数据库

NoSQL数据库是一类非关系型数据库&#xff0c;它们在数据存储和检索方面与传统的关系型数据库不同。不同类型的NoSQL数据库适用于不同的使用场景&#xff0c;因为它们具有各自的特点。以下是一些主要类型的NoSQL数据库及其特性和使用场景&#xff1a; 键值存储数据库 代表性数据…

华为取消6000万订单影响在扩大,高通嘴硬强调不受影响

高通公布了2023年第三季度的业绩&#xff0c;业绩显示营收下滑24%&#xff0c;净利润下滑36%&#xff0c;不过高通强调预计今年四季度业绩将回升&#xff0c;意思是说华为取消订单带来的影响较小。 一、高通处境不利已延续4年时间 2019年美国对华为采取措施&#xff0c;众多中国…

SpringCloud——服务注册——Consul

Consul其实和Zookeeper的使用差不多 提供者模块代码&#xff1a; cloud2020: 尚硅谷cloud2020 学习代码 - Gitee.com 消费者模块代码&#xff1a; cloud2020: 尚硅谷cloud2020 学习代码 - Gitee.com