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

原文链接:

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.hqwc.cn/news/156162.html

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

相关文章

J2EE项目部署与发布(Linux版本)->jdktomcat安装,MySQL安装,后端接口部署,linux单体项目前端部署

jdk&tomcat安装MySQL安装后端接口部署linux单体项目前端部署 1.jdk&tomcat安装 上传jdk、tomcat安装包 解压两个工具包 #解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz #解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 配置并且测试jdk安装 #配置环境变量 vim /e…

Kubernetes包管理工具Helm简介及使用

文章目录 前言技术积累什么是HelmHelm的核心概念Helm可以解决哪些痛点Helm中文官方文档 Helm安装Helm安装nginx用例写在最后 前言 大家都知道K8S是云原生devops的一大利器,可以直接让我们的中间件、应用服务直接运行在云端,让我们可以只关心自身的业务功…

霍尔效应测试系统

霍尔效应是电磁效应的一种,这一现象是美国物理学家霍尔(E.H.Hall,1855—1938)于1879年在研究金属的导电机制时发现的。当电流垂直于外磁场通过半导体时,载流子发生偏转,垂直于电流和磁场的方向会产生一附加…

Kafka基本原理、生产问题总结及性能优化实践 | 京东云技术团队

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景&a…

中颖单片机SH367309全套量产PCM,专用动力电池保护板开发资料

方案总体介绍 整套方案硬件部分共2块板子,包括MCU主板,采用SH79F6441-32作为主处理器。MCU主板包括2个版本。PCM动力电池保护板采用SH367309。 软件方案采用Keil51建立的工程,带蓝牙的版本,支持5~16S电池。 硬件方案--MCU主板 MC…

【2023Mathorcup大数据】B题 电商零售商家需求预测及库存优化问题 python代码解析

【2023Mathorcup大数据】B题 电商零售商家需求预测及库存优化问题 python代码解析 1 题目 2023 年MathorCup 高校数学建模挑战赛——大数据竞赛赛道B:电商零售商家需求预测及库存优化问题电商平台存在着上千个商家,他们会将商品货物放在电商配套的仓库…

信息收集-web架构-源码

一、web架构资产-平台指纹识别-源码 代码审计,从代码中挖掘漏洞,有代码才能做的,没有代码(黑盒),有代码(白盒) 没有源码只能做黑盒,有源码黑白盒都可做 有源码成功率高…

opencv c++ canny 实现 以及与halcon canny的对比

Opencv和C实现canny边缘检测_opencv边缘增强-CSDN博客 一、canny实现步骤 1、图像必须是单通道的,也就是说必须是灰度图像 2、图像进行高斯滤波,去掉噪点 3、sobel 算子过程的实现,计算x y方向 、梯度(用不到,但是…

【机器学习】四、计算学习理论

1 基础知识 计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结…

如何远程访问具有多个显示器的计算机

留出扩展空间对身体和电脑屏幕都有好处。许多人受益于使用多台显示器或将笔记本电脑连接到外接显示器以扩展屏幕。对于使用屏幕的人来说,拥有这样的屏幕空间可能意味着更高效的工作流程和生产力。 但是,如果你需要远程访问那台计算机呢?是否…

C++——类和对象之拷贝构造

拷贝构造 本章思维导图: 注:本章思维导图对应的xmind文件和.png文件都已同步上传到”资源“ 如果我们想要用一个已经存在的对象实例化一个与之完全相同的对象,怎么做呢? C提供了一个简单的方法——拷贝构造 拷贝构造是C类里面默…

Vue解决img路径报错

问题: 我们有一组图片的地址,使用v-for遍历img标签,设置src属性,却无法获取图片 解决方法: 因为我们将图片路径放入data中后会被webpack进行打包,这时候的路径仅仅只是一个字符串,无法进行解析…