MST
星途 面试题库

面试题:安全认证之JWT在无状态会话中的中等难度题

请阐述JWT在无状态会话中,相比于传统的基于会话(Session)认证方式,在跨域请求方面有哪些优势?
10.7万 热度难度
后端开发安全认证

知识考点

AI 面试

面试题答案

一键面试
  • 无需在服务器端存储状态
    • 传统Session认证:服务器需在内存或数据库等存储介质中保存用户会话信息,跨域时不同域可能有不同服务器,需解决会话数据共享问题,增加复杂度与成本,如通过分布式缓存(如Redis)实现会话共享,配置与维护较复杂。
    • JWT认证:JWT包含用户身份与权限等信息,服务器无需存储状态,跨域请求时不同域的服务器都可独立验证JWT,简化跨域处理流程。
  • 便于跨域传输
    • 传统Session认证:依赖Cookie传递会话标识,浏览器遵循同源策略,跨域时Cookie默认不能在不同域间传递,需通过复杂配置(如设置CORS允许跨域携带Cookie),且有安全风险。
    • JWT认证:通常在请求头(如Authorization: Bearer <JWT>)或URL参数中传递,不受同源策略对Cookie的限制,可轻松在跨域请求中传递,只要请求能携带JWT,接收方就能验证,更灵活方便。
  • 更好的扩展性
    • 传统Session认证:随着系统规模扩大与跨域场景增多,维护会话一致性与处理跨域问题成本剧增,分布式环境下会话同步与管理难度大。
    • JWT认证:各服务器独立验证JWT,无需依赖共享会话存储,易于扩展到多个不同域的服务器或微服务架构中,适应高并发与大规模跨域应用场景。