news 2026/2/28 14:27:18

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/2/23 14:46:44

AI记忆系统完全指南:从入门到精通,让你的大模型不再“失忆“!小白程序员也能秒懂的智能体记忆架构实战

随着 AI Agent 应用场景的持续拓展,智能体面临的任务复杂度与对话历史长度与日俱增。然而,大语言模型(LLM)的上下文窗口限制、不断攀升的 Token 成本,以及如何让 AI 精准 “记住” 用户偏好与历史交互等问题&#xff0…

作者头像 李华
网站建设 2026/2/24 16:05:48

学霸过目不忘的秘诀

你有没有过这样的经历:明明昨天背过的英语单词,今天听写时在纸上卡了半天?上周老师讲的重点题型,复习时却像从未见过?笔记本越记越厚,知识却像沙子从指缝溜走? 隔壁班那个总笑眯眯的女生&#x…

作者头像 李华
网站建设 2026/2/23 8:07:32

关于UE5只有透视图有显示,其他视图出现空白的问题

在练习UE5的时候,博主切换视图正准备给地编摆放位置时发现顶视图以及其他视图显示全是空白,于是上网查了相关解决问题的办法。以下是百度等浏览器搜索出来的解决办法:这一长串的解决方法让我看得脑壳疼,但是我根据我项目推断&…

作者头像 李华
网站建设 2026/2/25 8:02:47

【干货】Google最新AI Agent报告出炉:小白程序员也能5分钟上手企业级Agent开发!效率直接翻倍,2026年你的工作将被彻底重构!

2026年1月,Google Cloud发布AI Agents趋势报告,基于3466位全球高管调研,提出5条改变企业运作方式的路径。52%使用GenAI的企业已部署Agent,Telus的57000名员工每次AI交互节省40分钟,Danfoss将订单响应从42小时压缩到实时…

作者头像 李华
网站建设 2026/2/7 5:13:51

AWS账单又超了?三招让云成本直降40%,CTO和架构师必看

管理云成本,关键在于优化架构而不仅仅是缩减资源。作为企业的技术负责人,你是否每月都在为那张不断攀升的AWS账单感到头疼?优化成本不只是财务部门的要求,更是衡量技术团队架构能力的重要标尺。本文将分享我们帮助一家电商客户在性…

作者头像 李华