koa-session获取不到session踩坑记录

前端react,后端koa,然后用session作了验证码的存储。后端用koa-cors做了跨域。

场景:前端请求验证码,后端session保存验证码,前端发送验证码给后端,后端取出session校验。这里校验的时候拿不到。

查找原因:第一反应,没拿到session,代码写错了。用apifox测试了一下,能拿到。这时候就想到是跨域了。但是在其他接口调试的时候,提示跨域,我通过use(cros())做了后端跨域,一下子找不到问题在哪。

最终:最终有两个地方要改。

1、要对cros传入配置。我的配置如下。

复制代码
app.use(cors({
    origin: 'http://localhost:3001',
    allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
    credentials: true
}))

2、前端使用axios封装的网络请求,但是axios默认不携带cookies,所以需要把axios的withCredentials = true

做了上面两步就能正常在浏览器中实现验证码校验了。

相关推荐
web行路人几秒前
前端对Commands(斜杠命令)一些常用
前端·javascript·vue.js·vue
当时只道寻常1 分钟前
从零到一打造企业级全栈后台管理系统 —— 技术选型、工程化实践与深度思考
前端·全栈·前端工程化
竹林8182 分钟前
用 ethers.js 连 MetaMask 做钱包登录,我踩了三个坑才搞定跨页面状态同步
前端·javascript
饺子不吃醋2 分钟前
深入理解 Vue 3 的 setup(含 Composition API)
前端·vue.js
阿星做前端4 分钟前
重度 AI 编程用户的一天:我怎么把 Claude Code / Codex 工作流搬进浏览器工作台
前端·javascript·后端
风止何安啊4 分钟前
手写 URL 解析器,面试官到底想考什么?
前端·javascript·面试
yingyima20 分钟前
踩坑亲历:一次因 JSON 格式问题导致的宕机,及工具救赎
前端
2301_8156453838 分钟前
node.
node.js
kyriewen41 分钟前
我开发的 Chrome 扒图浏览器插件又更新了❗
前端·chrome·浏览器
程序员祥云1 小时前
Prompt项目说明文档
前端