速记。关键词:axios SameSite Session Cookie

Axios在跨站请求中发送cookie需服务器设置Cookie的SameSite为None和Secure为true,确保在HTTPS连接上安全传输。客户端需设置withCredentials为true以携带cookie。C#示例展示了如何配置Session以支持这些特性。

axios 是一个基于 promise 的 HTTP 库,可以用于浏览器和 node.js 中发送请求。SameSite 是一个用于控制 cookie 在跨站请求中如何发送的属性,它有三个可能的值:Strict、Lax 和 None。Secure 是一个用于指示 cookie 只能在 HTTPS 连接上发送的属性。

如果想要在跨站请求中使用 axios 发送 cookie,需要在服务器端设置 cookie 的 SameSite 为 None,并且设置 Secure 为 true。这样,在 HTTPS 连接上,浏览器才会将 cookie 发送给服务器。同时需要在客户端的 axios 请求中设置 withCredentials 为 true,以允许携带 cookie。

以C#为例:

// 添加Session支持
builder.Services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromMinutes(1);
    options.Cookie.IsEssential = true;
    options.Cookie.SameSite = SameSiteMode.None; // 默认的SameSite=Lax,使用域名(非IP)访问时无法设置Cookie,会导致Session失效
    options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest; // 使用SameSite=None必需的属性
});

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值