前端/移动开发面试题更新 2026-08-05

请解释单点登录(SSO)的核心原理,并从前端工程的角度说明实现单点登录时通常采用哪些技术方案或流程?

前端/移动开发风险判断系统设计技术原理

考察说明

考察对单点登录概念的理解以及前端在实现中的具体做法

回答思路

  1. 【回答框架 1】单点登录(Single Sign-On,SSO)是一种身份验证机制,允许用户使用一组凭据登录一次即可访问多个相互信任的应用系统。核心思想是建立一个独立的认证中心,各应用系统不再单独维护登录状态,而是统一由认证中心负责用户认证和票据签发。
  2. 【回答框架 2】前端实现单点登录的常用方案包括:基于Cookie+Session的传统方案,通过设置统一的Cookie域(如.domain.com)实现跨子域共享会话;基于Token的现代方案,前端将JWT等Token存储在本地(如localStorage或内存),并在请求时携带Token,认证中心负责Token的签发和校验。
  3. 【回答框架 3】完整流程通常为:用户访问受保护资源时,前端检测到未登录则重定向至认证中心;认证中心验证用户身份后生成票据(如CAS协议的TGT/ST或OAuth2.0的授权码);认证中心携带票据重定向回应用系统;应用系统后端向认证中心校验票据并建立本地会话;前端随后获取会话标识(Cookie或Token),后续请求携带该标识即可保持登录状态。
  4. 【关键点 1】单点登录的本质是统一认证,将各系统的登录逻辑抽离到独立的认证中心
  5. 【关键点 2】前端实现的核心在于合理管理登录状态和凭证,如使用HttpOnly Cookie防止XSS窃取,或使用短生命周期的Token降低泄露风险
  6. 【关键点 3】跨域情况下需借助认证中心的重定向和票据回调,不能依赖跨域读写Cookie,可以采用OAuth2.0或CAS协议实现
  7. 【易错点 1】将Token存储在localStorage存在XSS风险,不应无防护地存取敏感凭证
  8. 【易错点 2】忽略认证中心单点故障的风险,需考虑高可用和容错方案
  9. 【易错点 3】混淆单点登录与单点退出,单点登录只负责认证,不自动保证所有系统同步退出,需额外设计注销机制