完美解决Chrome Cookie SameSite跨站限制

本文介绍了在前后端分离环境下,由于Chrome的Cookie SameSite限制导致的跨站鉴权问题。Cookie SameSite属性自Chrome 51版引入,用于防范CSRF攻击。针对不同版本的Chrome,文章提供了关闭或绕过限制的方法,包括设置浏览器标志、命令行启动参数和使用Chrome插件。最后建议长期解决方案是采用https和设置SameSite=None,或确保前后端地址在同一站点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

在前后端分离的大趋势下,如果没有额外的配置部署方案,前端地址和后台API地址是不一样的。比如在本地开发调试阶段,前端地址为http://localhost:3000,后台API地址为http://api.server.com/api/list

那么地址不一样会有什么问题呢?

如果你请求的后台API需要携带Cookie进行鉴权,那么在这种地址不一样的情况下,会因为浏览器的Cookie SameSite的跨站限制,导致Cookie不会被正确传递,进而导致请求API接口总是报错没有认证或者权限不足。

什么是Cookie SameSite

2016年开始,Chrome 51版本对Cookie新增了一个SameSite属性,用来防止CSRF攻击。

简单来说,在新版本的浏览器上,如果前端地址和请求的API地址的domain不一样的话,则会限制携带Cookie。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值