当前位置: 首页 > news >正文

Postman实现jwt发送请求

// Pre-request script
// 使用 CryptoJS(Postman 通常内置这个)
const generateJWT = () => {const issuer = "example.com";const secret = "secret_key";console.log("Generating JWT with issuer:", issuer);// Headerconst header = {"alg": "HS256","typ": "JWT"};// Payloadconst payload = {"iss": issuer,"exp": Math.floor(Date.now() / 1000) + 3600,"iat": Math.floor(Date.now() / 1000),"sub": "postman-test","name": "test"};try {// 方法2A: 使用 CryptoJS(如果可用)const base64Header = btoa(JSON.stringify(header)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');const base64Payload = btoa(JSON.stringify(payload)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');const data = base64Header + "." + base64Payload;// 简单的HMAC-SHA256实现const signature = CryptoJS.HmacSHA256(data, secret);const base64Signature = CryptoJS.enc.Base64.stringify(signature).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');const token = data + "." + base64Signature;pm.environment.set("jwt_token", token);console.log("JWT生成成功:", token);return token;} catch (error) {console.log("CryptoJS方法失败:", error);// 方法2B: 使用纯JavaScript的简单实现(用于测试)const simpleToken = generateSimpleJWT(header, payload, secret);pm.environment.set("jwt_token", simpleToken);console.log("使用简单方法生成的JWT:", simpleToken);return simpleToken;}
};// 简单的JWT生成函数(用于测试)
function generateSimpleJWT(header, payload, secret) {const base64Header = btoa(JSON.stringify(header)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');const base64Payload = btoa(JSON.stringify(payload)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');// 注意:这是一个简化的签名,仅用于测试const fakeSignature = "test_signature_only_for_debugging";return base64Header + "." + base64Payload + "." + fakeSignature;
}// 生成JWT
generateJWT();

设置headers

key jwt

value {{jwt_token}}

http://www.dtcms.com/a/545422.html

相关文章:

  • 网站正在备案什么是网络营销 职能是什么
  • 【AI】Prompt 提示词工程
  • R语言高效数据处理-3个自定义函数笔记
  • 石家庄做网站备案有哪些公司品牌广告公司网站建设
  • 纯静态网站怎么入侵报告王妃
  • 郑州微盟网站建设公司网站建设的目的和目标
  • 仓颉中的字符串常用方法:语义一致性与高性能的设计哲学
  • 新MCU开发板快速上手指南:从开箱到精通
  • NestJS 项目创建
  • Apache Spark算法开发指导-特征转换-StandardScaler
  • 两个2的n次幂相加
  • 实时Java规范(RTSJ):从理论到实践的实时系统编程范式
  • 【Linux网络】进程间关系与守护进程
  • 建设部网站监理工程师报名wordpress菜单修改
  • vue 做网站 seo大连网站设计培训班
  • 【含文档+PPT+源码】基于SpringBoot和Vue的服装在线搭配及销售管理系统
  • 数据结构入门:深入理解顺序表与链表
  • 网站怎么做百度推广课题组网站怎么做
  • 前端React实战项目 全球新闻发布系统
  • 【React】 严格模式的 “双重执行” 机制,useEffect 执行两次
  • 使用 ngrok 在本地测试 Paddle Webhook 教程
  • React 入门 01:快速写一个React的HelloWorld项目
  • 地方旅游网站建设必要性网站怎么做站内美化
  • 设计网站栏目wordpress 三一重工
  • 黄冈网站建设策划海口建网站公司
  • 电子元器件学习-DC-DC篇:原理、拓扑结构、参数接收、手册解读、外围器件选型、Layout设计案例分析
  • SSD和HDD存储应该如何选择?
  • wordpress 博客 免费主题哈尔滨关键词优化方式
  • 河北网站排名网站内置字体
  • Yocto —— Linux Kernel 配置和修改