pc通过window.open打开新页面,新页面要使用原来页面的token

news2025/7/19 21:04:27

原文链接:

https://blog.csdn.net/weixin_42342065/article/details/127420783
(以下为本人笔记使用)

对于前端来说,一般在登录获取token之后会把token存入缓存以及放置在Request Headers请求头中,但是使用iframe/window.open/a这三种标签打开新页面或新窗口是没有办法把请求头带过去的,这个时候就需要自己设置请求头,有如下有两种办法:

方法一(不推荐):

第一种方法可以说是最不得已使用但是也能实现的方法,就是在跳转链接后面拼token,http://localhost:8080/test?token=2345treghgfdsd334344,然后到新打开的页面中从链接中取token存在新页面的请求头部
优点:url链接后面直接拼接参数,不会出现跨域的情况
取:一定是在页面获取,无法在请求拦截器取出

在这里插入图片描述

方法二(推荐):

第二种方法是使用Cookie。Cookie在同域名中是可以存token并且在新页面中获取的,因为当前页面和新打开的页面属于同一个域名。
缺点:a,b两个系统只有同域名下才能使用cookie存取,不同域名会出现跨域情况,解决跨域的话就要通过nginx配置代理转发。
步骤:
1.安装js-cookie依赖包

npm install js-cooke

2.在获取token之后存入Cookie

import Cookie from 'js-cookie'
Cookie.set('token', token)

3.在新打开的页面中获取token。

//如果新打开的页面是另外一个项目(前提是另一个项目也是自己的)的话可以在请求拦截request.interceptors.js中获取
import Cookie from 'js-cookie'
const token = Cookie.get('token')
//如果新打开的页面是另外一个项目(不是自己的项目)的话我们只负责Cookie.set存,取得话需要根据实际情况考虑

实现免密登录:
使用iframe/window.open/a标签可以嵌入或打开第三方系统指定页面,如果想实现到第三方指定页面免登录,则可以在当前系统中把token存入cookie,第三方系统从cookie中获取token存入头部,即可实现。

在这里插入图片描述
js-cookie 官网:https://www.npmjs.com/package/js-cookie

const token = Cookie.get(“token”) || “”;
token && (config.headers.Authorization = “Bearer” + " " + token);

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

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

相关文章

高并发项目部署以及优化手段

文章目录 🔊博主介绍🤖博主的简介📥博主的目标 🥤本文内容🌟 服务器配置🍊 文件系统参数、TCP网络层参数等系统参数🍊 修改文件描述符大小 🌟 SpringBoot的配置🍊 1. 配置…

WPS Office 制作下拉两级联动

文章目录 前言WPS Office 制作下拉两级联动1. 准备两级联动数据![在这里插入图片描述](https://img-blog.csdnimg.cn/dc8c21c5f12349aeb467eed266888618.png)2. 设置一级下拉3. 设置二级联动下拉 前言 如果您觉得有用的话,记得给博主点个赞,评论&#xf…

k8s资源对象--pod

创建pod: kubectl get pod cp test_pod_1.yaml nginx_pod.yaml cah 查看详细信息: pod的状态处于pending可能的原因:一个或多个没有运行 由于当前所有节点没有可用节点(所有节点资源不足,所有节点) 查看所有&…

全网最详细4W字Flink全面解析与实践(下)

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 Flink State状态CheckPoint & SavePointCheckPoint原理SavePoint原理 StateBackend状态后端Memo…

LiveGBS流媒体平台GB/T28181常见问题-国标级联海康国标级联大华国标级联华为等,配置了国标级联, 上级看不到通道该怎么办?

LiveGBS常见问题-国标级联海康国标级联大华国标级联华为等,配置了国标级联, 上级看不到通道该怎么办? 1、如何配置国标级联2、上级看不到通道排查2.1、是否共享通道2.3、通道编号是否满足上级要求 3、如何抓包分析4、搭建GB28181视频直播平台 1、如何配置国标级联 …

ASO优化之如何制作Google Play的长短描述

应用的描述以及标题和图标是元数据中最关键的元素,可以影响用户是否决定下载我们的应用程序。简短描述的长度限制为80个字符,它提供了更多的有关应用背景信息的机会。 1、简短描述帮助用户快速了解我们应用。 确保内容丰富的同时,保持简洁和…

Expected indentation of 16 spaces but found 8 spaces.eslintvue/script-indent

问题:Expected indentation of 16 spaces but found 8 spaces.eslintvue/script-indent 原因: 严格地检查缩进问题,并不是报错 解决: 方法一:我们可以关闭这个检查规则(好像没用) .eslintrc.js…

02-详细介绍Vue中的数据代理和数据响应式

数据代理 MVVM 原生的Javascript代码Model和View没有分离,如果数据发生任意的改动, 接下来我们需要编写大篇幅的JS代码操作DOM元素更新视图 MVVM是目前前端开发领域当中倡导Model和View进行分离的开发思想或者架构模式,大部分主流框架如Vue和React都借鉴了这个MVVM思想 Mod…

介绍几款Linux 下终极SSH客户端

安全外壳协议(Secure Shell,简称 SSH)是一种网络连接协议,允许您通过网络远程控制计算机。特别是在Linux命令行模式下,使用SSH,可以很方便管理linux上的运维工作。以下是一些最受欢迎的Linux SSH客户端&…

mathematica解非齐次常微分方程通用写法。解RC微分方程,输入硬写为Cos,通用写法:将微分方程的解函数表达式转为mathematica的纯函数

输入电压为余弦信号, mathematica解微分方程举例(mathematica解非齐次常微分方程通用写法)

苹果相册回收站在哪里?删除的照片如何恢复?(已解决)

苹果手机的相册回收站是一个非常重要的功能,可以帮我们把一些不小心删除的重要照片给恢复回来。这个功能对于一些比较粗心的小伙伴来说简直是救星! 但是,还有许多第一次使用苹果手机的朋友不知道相册回收站在哪里。苹果相册回收站在哪里&…

东莞理工学院第四届“火焰杯”软件测试高校就业选拔赛颁奖典礼

10月10日下午,由软件测试就业联盟主办的第四届“火焰杯”软件测试高校就业选拔赛颁奖典礼在9A206举行。本次比赛邀请了测吧(北京)科技有限公司项目总监王雪冬、计算机科学与技术学院副院长刘文果和计算机科学与技术学院软件工程系主任张福勇为…

10 _ 递归:如何用三行代码找到“最终推荐人”?

推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多App都有这个功能。这个功能中,用户A推荐用户B来注册,用户B又推荐了用户C来注册。我们可以说,用户C的“最终推荐人”为用户A,用户B的“最终推荐人”也为用户A,而用户A没有“最终推荐人”。 一般来说,我们会通过数据…

GSA、GSEA、ssGSEA、GSVA的算法原理及它们的联系与区别

一、 简述 为了从基因的表达水平中得到更加具体直观的生物学功能变化的信息,多种基于已知的基因集的分析方法应运而生。其中,基因集分析(Gene Set Analysis)、基因集富集分析(Gene Set Enrichment Analysis&#xff09…

上网行为审计软件丨上网行为审计解决方案

很多人一听到上网行为审计就会心有余悸,认为是公司侵犯员工隐私的一种不良的方式,但是对于上网行为审计软件,我们要辩证的看待。 上网行为审计确实有一定的好处: 1、监控网络行为,防止不当行为: 上网行为…

jdk官网下载(详细步骤)

jdk全部版本下载网址 Java Archive | Oraclehttps://www.oracle.com/java/technologies/downloads/archive/ 下载之前先建立oracle账号(免费创建),不用特意去搜,你点击下载jdk的时候会自动弹出来,自己建立一个账号就能下载了 找到自己要下载…

【论文笔记】Unifying Large Language Models and Knowledge Graphs:A Roadmap

(后续更新完善) 2. KG-ENHANCED LLMS 2.1 KG-enhanced LLM Pre-training 以往将KGs集成到大型语言模型的工作主要分为三个部分:1)将KGs集成到训练目标中,2)将KGs集成到LLM输入中,3)将KGs集成到附加的融合模块中。 2.1.1 Integr…

Sci Immunol丨先天性 IL-25-ILC2-MDSC 轴

今天和大家分享一篇发表于2022年6月的文章,题目为“An innate IL-25-ILC2-MDSC axis creates a cancer-permissive microenvironment for Apc mutation-driven intestinal tumorigenesis”,发表在《Sci Immunol》杂志上。文章主要研究了Interleukin-25 (…

数据智能化管理:企业网站备案信息API的应用案例

引言 在数字化时代,企业备案信息管理变得愈发重要。无论是为了合规性还是提高业务运营效率,企业都需要有效管理其网站备案信息。幸运的是,现代技术为企业提供了强大的工具,如企业网站备案信息API,可帮助他们更智能地管…

第一个QT程序

新建工程&#xff1a; 1. 点击“New Project” 2. 选择“Qt Widgets Application” 3. 工程名和路径 4. 构建系统选择 5. Details 一些细节 6. 选择Kits 7. 完成工程创建 点完成按钮 8. 运行下看 9. 一些示例代码 //main.cpp #include "mywidget.h"#include <Q…