news 2026/4/23 21:06:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 会自动带

1、从 Cookie 里读 XSRF

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")) );
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 20:57:16

面向多端部署的社区平台技术方案:uniapp 与java微服务架构的工程化实践

在内容平台逐渐走向垂直化与私域化的趋势下,企业在规划社区类产品时,往往不再只关注功能是否齐全,而是更关心系统是否易扩展、可维护、能长期演进。 尤其是当目标产品形态同时覆盖 APP 与小程序,并具备内容、社交、电商与即时通讯…

作者头像 李华
网站建设 2026/4/23 5:33:34

别再花冤枉钱!免费 SSL/HTTPS 证书全攻略来袭

一、SSL 证书知多少在如今网络时代,SSL 证书可是保护数据安全的 “盾牌”。它通过加密传输,让网站与用户间信息往来不被窃取、篡改,有效抵御网络攻击。这就引出咱们的主角 —— 免费 SSL 证书。二、免费 SSL 证书优势加密强:为网站…

作者头像 李华
网站建设 2026/4/23 9:45:45

2026必备!本科生毕业论文AI论文软件TOP10测评

2026必备!本科生毕业论文AI论文软件TOP10测评 2026年本科生论文写作工具测评:为何需要这份榜单? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI论文软件提升写作效率与质量。然而,面对市场上琳琅满目的工具&…

作者头像 李华
网站建设 2026/4/23 9:46:36

java协同过滤算法的外卖商城互助平台vue

目录协同过滤算法概述系统架构设计核心功能模块技术实现细节应用价值开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式…

作者头像 李华
网站建设 2026/4/23 9:48:04

uniapp+vue小程序springboot 桥牌游戏比赛计分系统

文章目录摘要技术亮点主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 该系统基于UniApp、Vue.js和SpringBoot技术栈,实现了一个桥牌比赛计…

作者头像 李华