码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Postman如何携带token——Bearer Token和Headers


    目录

    • 一、使用场景
    • 二、设置Bearer Token
      • 1.设置你的环境变量
      • 2.项目集合设置认证方式及环境变量
      • 3.登录接口的脚本
    • 三、通过脚本设置Headers
      • 1.登录请求设置环境变量
      • 2.设置集合的发送请求脚本
      • 3.登录接口抹除accessToken

    一、使用场景

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

    二、设置Bearer Token

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

    1.设置你的环境变量

    点击右上角的小眼睛,然后点击Add,添加
    在这里插入图片描述
    填写你的环境名和你的变量名
    在这里插入图片描述
    选择你新建的环境
    在这里插入图片描述

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

    在这里插入图片描述

    3.登录接口的脚本

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

    // pm代表的就是postman,使用js编写脚本即可
    const responseJson = pm.response.json();
    console.log('-----------',responseJson)
    const accesssToken = responseJson.result
    if('200'==responseJson.code){
        pm.environment.set('accessToken',accesssToken)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    三、通过脚本设置Headers

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

    1.登录请求设置环境变量

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

    const responseJson = pm.response.json();
    console.log('-----------',responseJson)
    const accesssToken = responseJson.result
    if('200'==responseJson.code){
        pm.environment.set('accessToken',accesssToken)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    2.设置集合的发送请求脚本

    点选集合->进入Pre-request Scrip(请求前脚本)页签->编写脚本
    在这里插入图片描述
    脚本如下

    console.log("----addHeader------", pm.environment.get("accessToken"));
    var accessToken = pm.environment.get("accessToken");
    // 所有请求在请求前都在请求头中设置accessToken
    pm.request.addHeader("accessToken:"+accessToken);
    
    • 1
    • 2
    • 3
    • 4

    这样设置后,所有的请求都会携带登录的accessToken了。

    3.登录接口抹除accessToken

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

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

    在这里插入图片描述

  • 相关阅读:
    说一下 toRef、toRefs,以及他们的区别
    17.13 补充知识、线程池浅谈、数量谈、总结
    2024免费的硬盘数据恢复软件有哪些?
    Flink CDC-SQL Server CDC配置及DataStream API实现代码...可实现监控采集一个数据库的多个表
    【计算讲谈社】第一讲:支撑 10 万人同时在线互动,是实现元宇宙的基本前提?
    数据流通市场中数据产品的特性及其交易模式
    [附源码]Python计算机毕业设计Django基于Java酒店管理系统
    python学习随笔3
    基于极限学习机 (ELM) 进行正弦波预测(Matlab代码实现)
    当黑客遇到电脑白痴
  • 原文地址:https://blog.csdn.net/weixin_44712778/article/details/127925206
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号