http通信鉴权(三)基于 Session + CSRF Token 的 Cookie 认证

一、介绍

1、简介

这也是一个非常典型的 Web 会话认证方式,不是 OAuth,也不是 JWT,而是: 基于 Session + CSRF Token 的 Cookie 认证(Spring / Java 系生态最常见)

项目 是否
Session-based Auth
Cookie Auth
CSRF Protection
JWT
OAuth2

2、示例

XSRF-TOKEN=******; SESSION=******

二、组成

XSRF-TOKEN = e1a29ed4-8850-4e48-8ac5-833ccfad1899

SESSION = ljU0ZDa2OTMtMTg2gS00njE2LTk0MDEtOGUyMuYxNTE3MTZa

1、SESSION(核心认证凭证)

这是服务端 Session ID,登录成功后由服务器生成。

  • 存在:内存 / Redis / DB

  • Cookie 里只存 sessionId

  • 每次请求:Cookie: SESSION=xxxx

  • 服务端用 sessionId 找用户信息,这就是真正的"你是谁"

2、XSRF-TOKEN(防 CSRF)

这是 CSRF 防护 token(不是身份认证),

  • 用来防止:跨站请求伪造(CSRF)

  • 常见于:Spring Security Angular / Vue

工作机制
  1. 服务端生成一个随机 token

  2. 放到 Cookie(XSRF-TOKEN

  3. 前端每次 非 GET 请求时:

    从 Cookie 读,然后放到 Header:X-XSRF-TOKEN: e1a29ed4-8850-4e45-8ac5-833ccfad1896

  4. 服务端校验 Header 和 Cookie 是否一致

📌 它不代表登录态,只是"你是本站页面发的请求"

**三、**结合Playwright

复制代码
// 登录后
BrowserContext context = browser.newContext();
// Cookie 会自动带
复制代码
String xsrf = context.cookies().stream()
    .filter(c -> "XSRF-TOKEN".equals(c.name))
    .findFirst()
    .map(c -> c.value)
    .orElse(null);

2、API 请求时带 Header

复制代码
page.request().post("/api/xxx",
  RequestOptions.create()
    .setHeader("X-XSRF-TOKEN", xsrf)
);

3、复用登录态(自动化测试常用)

推荐做法:storageState

复制代码
context.storageState(
  new BrowserContext.StorageStateOptions()
    .setPath(Paths.get("state.json"))
);

下次:

复制代码
browser.newContext(
  new Browser.NewContextOptions()
    .setStorageStatePath(Paths.get("state.json"))
);
相关推荐
Ether IC Verifier1 小时前
TCP三次握手与四次挥手详解
网络·网络协议·tcp/ip·计算机网络
pengyi8710158 小时前
独享IP池自动化维护方案,智能检测自动延长使用寿命
网络协议·tcp/ip·自动化
德思特11 小时前
通过 Wireshark 抓取串口命令
网络协议·测试工具·wireshark
KnowSafe13 小时前
2026年SSL证书市场便宜且安全的SSL证书调研
网络协议·安全·ssl
dangdanding16 小时前
防火墙 IP 分片测试套件-fragroute
linux·网络·网络协议·tcp/ip
TechWayfarer17 小时前
AI大模型时代:IP数据云如何适配智能体场景需求
开发语言·人工智能·python·网络协议·tcp/ip·langchain
冰冰的米咖18 小时前
交换与路由技术整理与总结(持续更新版)
网络·网络协议·智能路由器
Ether IC Verifier19 小时前
TCP/IP协议握手原理详解——结合以太网连接过程
服务器·网络·数据库·网络协议·tcp/ip
山栀shanzhi19 小时前
TCP 和 UDP 区别
网络协议·tcp/ip·udp
HMS工业网络20 小时前
使用电脑快速测试PROFIBUS 设备通讯
网络·网络协议·profibus·主站·设备通讯