node(koa2)跨域与获取cookie

2023-05-16

欲做一个node 的网关服务,通过 cookie 做信息传递,选择框架 koa2,这里简单记录跨域处理以及 cookie 获取。

 

首先:解决跨域问题,使用 koa2-cros 来处理,跨域问题后端处理就好,与前端无瓜。


const cors = require('koa2-cros')

app.use(cors({
  origin: '*'
}))  

 

其次:解决跨域是传递 cookie 问题,现在的浏览器请求默认都不带 cookie 的,要带上cookie 则需要添加配置参数,原生 fetch 方法需要添加 credentials: 'include' 参数,使用如下:


fetch('htp://192.168.210.151:3002/proxy', {
    credentials: 'include',
})
// 如果你用的 axios,请在配置参数中添加 withCredentials: true 参数即可

后端添加  credentails: true 


const cors = require('koa2-cros')

app.use(cors({
  origin: '*',
  credentails: true,
}))  

然后新问题就出现了,浏览器发请求出现如下问题

意思就是 Access-Control-Allow-Origin: '*' 与 credentials: 'include' 不能共存,这里需要后端的请求头将 Access-Control-Allow-Origin: '*' 中的 '*' 改成发送请求的 origin 就好了,如果粗暴点的话直接改成如下


const cors = require('koa2-cros')

app.use(cors({
  origin: (ctx) => {
     const origin = ctx.headers.origin  // 实际生产请根据具体情况来进行规则配置
     return origin
  }
}))  

 

然后的话客户端拿到的 Response Headers 对比如下

 

最终,虽然还是会出现 Provisional headers are shown 这个警告,但是前端也可以拿到数据了,后端也可以拿到 cookie 了。

 其他浏览器并没有出现这个 Provisional headers are shown 警告,所以这个应该仅是 chrome 的一个警告。

转载于:https://www.cnblogs.com/YMaster/p/11315565.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node(koa2)跨域与获取cookie 的相关文章

  • npm start 作用

    在配置phonecat项目时需要运行npm start在本地配置一个服务器环境 npm start首先会安装一系列的必要程序 这些程序依赖package json中的内容 package json中的内容详解如下 依赖包介绍 在克隆项目之后
  • 前端页面生成PDF方案之puppetter

    1 新建一个文件夹 例如 test 2 新建一个js文件 例如test js 3 进入test文件夹 在该目录下运行命令行 并执行下面命令 npm init 4 运行命令安装 npm i puppetter 5 编辑test js cons
  • Node利用connect中间件 及bodyParser处理文件上传

    1 html
  • Node =》 nodemon

    在编写调试Node js的时候 如果修改了项目的代码 则需要频繁的手动close掉 然后再重新启动 非常频繁 现在可通过nodemon这个工具 能够监听项目文件的变动 当代码被修改后 nodemon会帮我们重新启动项目 极大方便了开发和调试
  • 通过NodeJS对接微信客服实现第三方API管理消息

    最近项目有个需求 要对接微信客服 之前也没做过 一脸懵逼 我属于那种不知其然 就心里很没底的人 感觉不知道怎么去开发了 所以就趁着后端还没开发完接口 先自己对接一下试试 接下来就是整个流程 首先我们先注册一个企业微信 这一步是必须的 因为我
  • Angular --官方文档使用 Angular CLI创建项目

    1 在node环境下 标配 node v npm v 指令在命令窗口查看两个的版本号 node高于6 9 3 npm版本高于3 0 0 如果你是新安装的话 就不要考虑这个问题了 2 全局安装 Angular CLI npm install
  • Nginx常用命令以及升级(window)

    nginx Windows作为标准控制台应用程序 不是服务 运行 可以使用以下命令对其进行管理 start nginx 启动Nginx nginx s stop fast shutdown 快速停止 nginx s quit gracefu
  • Cookie与Session机制,以及scrapy中cookiejar的理解

    Http协议 http是一种无状态协议 先说什么是协议 说白了就是通讯过程中的一种规范 要求 那什么是无状态的呢 就是我们在向服务器请求一个页面的过程中 并不是一个持久性的连接 而是客户端发送一个请求 比方说 我打开腾讯网 然后服务器端返回
  • nginx基本介绍(安装、常用命令、反向代理)

    文章目录 引言 一 nginx是什么 二 nginx的下载和安装 1 下载 2 windows下安装 3 运行 4 外部服务器无法访问问题 三 nginx的常用命令 四 nginx config 五 FileZilla 1 什么是FileZ
  • node环境实现console输出不同颜色

    一 输出规则分析 1 输出及打印如下 console log x1B 31m s x1B 0m 这是红色 console log x1B 36m s x1B 0m 这是青色 2 规则说明 x1B 31m 是一个转义序列 它将被您的终端拦截并
  • 与Android对接注册接口的session会话取值为null问题

    与Android对接注册接口的session会话取值为null问题 问题 最近在改造一个springboot项目时在后端写好登录接口后 Android调用登录成功后 调用其他接口时发现获取session为null 经过swagger一番测试
  • cookie、session、token的概念以及区别

    http链接都是无状态的 即是说浏览器无法判断这一次登陆和上一次登陆有没有关联 所以引入cookie和session的概念 让http可以判断你是否曾登陆过 cookie Cookie是客户端保存用户信息的一种机制 用来记录用户的一些信息
  • React + Umi + Dva + Antd 简述 及创建项目过程简述

    React 你的第一个组件 React React是前端三大主流框架之一 你可以在React里传递多种类型的参数 如声明代码 帮助你渲染出UI 也可以是静态的HTML DOM元素 也可以传递动态变量 甚至是可交互的应用组件 安装react框
  • 获取京东cookie简单暴力获取京东CK

    获取京东cookie简单暴力获取京东CK 具有时效性 太久没玩可能以失效 注意 用浏览器请使用隐身窗口 如果多个账号 一定不要点退出登录 直接关闭网页 清除浏览器cookie数据 隐身窗口无需这一步 重新进入网页登录下一个账号 退出会导致刚
  • json数据如何存入到cookie中,如何获取

    1 引入相对应的cookie js插件如下 例如 button click function var username input name username val var password input name password val
  • 发布npm包-简要记录

    1注册账号 注册npm账号 需要邮箱 激活npm账号 npm账号注册成功以后会收到邮件 邮件中有个链接 点进去进行激活 2创建项目 npm init 创建项目 name 命名规则 不能包含大写字母 空格及下滑线 version 创建时候默认
  • 转:Chrome浏览器查看网站登录 Cookie 信息的方法

    当我们使用自动签到等程序的时候一般都要用到网站Cookie 我们可以借助浏览器的扩展来获取Cookie信息 但其实通过浏览器本身的功能就可以查看Cookie信息 以Chrome类浏览器为例有以下三种方法 chrome浏览器 方法一 1 打开
  • express脚手架安装和使用,node添加跨域处理

    前言 node的脚手架 express generator 的安装和使用 安装 步骤一 全局安装脚手架 npm i express generator g cnpm i express generator g 可以运行命令 express
  • 简单对比一下Cookie和Session的主要区别

    一句话总结 Cookie是检查用户身上的 通行证 来确认用户的身份 Session就是通过检查服务器上的 客户明细表 来确认用户的身份的 Session相当于在服务器中建立了一份 客户明细表 注释 300 20 4kb
  • Node.js爬虫实战:搜狗图片爬取

    说在前面 当我们在网上寻找图片时 经常会遇到需要批量下载搜索结果中的图片的情况 而搜狗作为中国颇具影响力的搜索引擎之一 其图片搜索功能提供了丰富多样的图片资源 在这种情况下 我们希望能够通过编程的方式 批量下载搜狗图片搜索结果中的图片 以便

随机推荐

  • 04 KVM虚拟化网络概述

    文章目录 04 KVM虚拟化网络概述4 1 Linux Bridge4 2 Open vSwitch 04 KVM虚拟化网络概述 为了使虚拟机可以与外部进行网络通信 xff0c 需要为虚拟机配置网络环境 KVM虚拟化支持Linux Brid
  • prometheus+node_exporter+grafana详细部署流程(非docker部署)

    一 环境说明以及效果展示 1 背景 xff1a 在进行性能测试时 xff0c 想直观看到服务器的瓶颈在哪里 xff0c cpu 内存占用多少 xff0c 是否是网络因为导致性能上不去等等 xff0c 而prometheus 43 node
  • vnc连接阿里云,阿里云怎么连接vnc,推荐四款vnc连接软件

    vnc连接阿里云不知道大家熟不熟悉 xff0c 小编因为一些原因 xff0c 接触vnc连接阿里云的也比较多一点 在用了很多款的vnc软件之后 xff0c 知道了阿里云怎么连接vnc xff0c 接下来推荐四款除了阿里云的vnc连接软件 第
  • vnc远程控制软件配置,vnc远程控制软件怎么配置的,教程详解

    vnc远程控制软件配置 xff0c 小编在使用vnc服务端的时候是非常需要知道vnc远程控制软件配置的 xff0c 但当时确实是找了很久没找到 xff0c 所以现在也是有经验的人了 接下来就介绍一下vnc远程控制软件配置吧 xff0c 加教
  • vncserver安装,vncserver安装,安装教程详解

    Virtual Network Computing VNC 是进行远程桌面控制的一个软件 客户端的键盘输入和鼠标操作通过网络传输到远程服务器 xff0c 控制服务器的操作 服务器的图形界面 通过网络传输会客户端显示给用户 给你的感觉就像直接
  • ubuntu固定网络设置失败总结

    1 注意DNS xff0c sudo vim etc resolv conf xff0c 图1这里的DNS一定要设置 xff0c 不然只设置图2的DNS xff0c ping baidu com是不行的 图1 图2 经验引用https bl
  • 史上最全docker安装方法!

    2017年2月8日 xff0c docker更新到1 13 1 xff08 更新日志 xff09 xff0c 此后又分为了docker CE xff08 社区版 xff09 和docker EE xff08 商业版 xff09 此处只分享d
  • Centos8 初体验 (六)最小化安装下与centos7比较一些变化,比如同一场景使用的包不同等

    1 默认没有开启atd服务 xff0c 如果需要必须手动安装 xff1a dnf install at y systemctl enable atd systemctl start atd root 64 warclouds systemc
  • ovn:单节点搭建最简单环境演示

    创建各服务其中红色部分是必须安装的 rw r r 1 root root 1 8M 2月 28 16 08 openvswitch 2 13 0 1 x86 64 rpm rw r r 1 root root 5 2M 2月 28 16 0
  • OVN:dhcp-options分配网络的问题

    如果将逻辑逻辑网络接入路由器的网关地址分配了比如10 10 0 2 也就是这个网关地址已经配置了 xff0c 不能在继续分配给其他的虚拟机了 但是ovn在初始分配给私网下虚拟机IP地址时也会继续分配这个IP地址 xff0c 造成地址重复出现
  • 【深度解刨C语言】符号篇(全)

    文章目录 一 注释二 续行符与转义符1 续行符2 转义符 三 回车与换行四 逻辑操作符五 位操作符和移位操作符六 前置 43 43 与后置 43 43 七 字符与字符串八 和 1 四种取整方式2 取模与取余的区别和联系3 两边异号的情况1
  • 关于论文那点事——对抗样本

    学会读论文是一件读研期间必做的事 xff0c 已经读过好几篇 xff0c 但都是浅读 xff0c 读完后发现啥也没记住 xff0c 总想着等我有需要我再去细读文章 xff0c 但如果你连自己研究方法的各种理论和方法都没有基础了解的话 xff
  • 论文那些事—Learning Deep Features for Discriminative Localization

    1 摘要 背景 论文主要针对图片中不同类别物体定位的弱监督学习问题 xff0c 提出了基于分类网络的图片识别与定位 在分类模型中 xff0c 卷积层本身带有物体定位功能 xff0c 比如一个物体在左上角 xff0c 那么卷积之后的结果 fe
  • 2023年高频Java面试题集锦(含答案),让你的面试之路畅通无阻

    面试职位 xff1a Java后端开发工程师 在面试前三面真的有点急促 xff0c 一周内就面完了三次面试 xff0c 接着就开始无尽的等待 xff0c 整整等了三周左右 xff0c 终于完成了四面和HR面 整个过程还是比较曲折的 xff0
  • URL的标准格式

    URL的标准格式 scheme host port path query fragment 1 scheme xff1a 协议 2 host xff1a 主机 3 port xff1a 端口 4 path xff1a 路径 5 query
  • koa2获取用户ip

    调用下面方法即可获取 koa2 中 req 为 ctx req const getUserIp 61 req 61 gt return req headers 39 x forwarded for 39 req connection rem
  • Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)

    使用 PulginInstall 安装就不要想了 xff0c 如果你没有梯子的话 自己的 ssr 被封 xff0c 使用的同事的 ss xff0c 但是同事设置的加密方式在 linux 上的 ss 应用不支持 好吧 xff0c 直接上过程
  • 低显存(4g)训练LoRA模型的一些经验+自训练四季夏目LoRA模型分享

    一 Lora简介 LoRA Low Rank Adaptation of Large Language Models 是微软研究员引入的一项新技术 xff0c 主要用于处理大模型微调的问题 目前超过数十亿以上参数的具有强能力的大模型 例如
  • docker无法删除<none>镜像

    1 1 进入root权限 2 3 sudo su 或 sudo i 4 5 2 停止所有的container xff08 这样才能够删除其中的images xff09 xff1a 6 7 docker stop docker ps a q
  • node(koa2)跨域与获取cookie

    欲做一个node 的网关服务 xff0c 通过 cookie 做信息传递 xff0c 选择框架 koa2 xff0c 这里简单记录跨域处理以及 cookie 获取 首先 xff1a 解决跨域问题 xff0c 使用 koa2 cros 来处理