【WebSocket】能否在 WebSocket 握手阶段复用 HTTP 的 Cookie 或 Token 进行身份验证?具体如何实现? WebSocket 握手认证实战:在线客服系统的身份验证架构用户问题原文:能否在 WebSocket 握手阶段复用 HTTP 的 Cookie 或 Token 进行身份验证?具体如何实现?在构建在线客服系统时,我们曾因错误地依赖 Cookie 认证导致跨站攻击风险,另一次因 Token 验证逻辑缺陷造成客服身份冒用。根本原因在于团队将 WebSocket 握手视为“简单的 HTTP 升级”,而忽视了其独特的认证安全要求。作为处理过亿级 WebSocket 连接的架构师,我深知:WebSocket 握手认证不是 HTTP 认证的简单复用,而是涉及协议特性、安全边界和实现细节的精密工程。本文将通过在线客服系统这一典型场景,系统性地解析 WebSocket 握手阶段的身份验证机制,并提供可落地的生产级实现方案。一、生活化类比:从“门禁卡”到“WebSocket 握手认证”Cookie 认证就像“自动门禁卡”想象办公楼的门禁系统:员工刷卡进入→系统自动识别身份→允许通行便利性:无需每次输入密码风险点:卡片被盗用或跨楼使用