信息技术大学
登录与授权
系统设计与场景题 · 第 2 章 高频场景题
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
信息技术大学
登录与授权
系统设计与场景题 · 第 2 章 高频场景题
会话方案对比
登录态三选一:Session 稳、JWT 轻、OAuth 授权——从单机到分布式的演进。
Session
服务端存储可控可踢,集群需共享存储
JWT
无状态自包含,跨服务友好但难撤销
选型
强管控选 Session,多服务选 JWT 或网关统一
扫码登录流程
二维码是身份接力棒:网页要码,手机确认,网页轮询换票,三端协同。
要码
网页请求二维码,携带一次性场景值
确认
已登录 App 扫码,用户点确认授权
换票
网页轮询或长连接获知,用场景值换登录态
OAuth 2.0 四模式
授权的四种姿势:授权码最常用,隐式已弃用,密码与客户端各有限定场景。
授权码
回调换码再换 token,安全默认款
隐式
前端直拿 token,已不推荐
密码/客户端
高度信任才用密码式;机器对机器用客户端凭证
SSO 单点登录与注销
一次登录处处通行:认证中心发票据,各系统验票据;注销要广播全局。
登录
未登录跳认证中心,验完带票据回业务系统
验票
系统后端向中心验票,换本地会话
单点注销
中心销全局票据,广播通知销本地会话
本节要点
- ✓Session 管得住,JWT 铺得开
- ✓扫码:场景值接力三端协同
- ✓OAuth 授权码是默认选择
- ✓SSO 统一认证,注销要广播
延伸主题:画一遍扫码登录时序对比 JWT 与 Session 撤销
课后思考
先自己回答,再展开参考答案——能讲出来才算真懂。
1JWT 的「无法撤销」有什么工程补救?
参考答案短有效期加 refresh token 缩小暴露窗口;黑名单或版本号把校验拉回服务端;关键操作二次认证。本质是拿一部分无状态优势换可控性。
2扫码登录为什么用临时场景值而不是直接传 token?
参考答案二维码可能被截图转发,内嵌 token 等于泄露登录态。场景值只是一次性取票凭证,配合手机端的明确授权动作,才能完成安全接力。
3单点登录好做,单点注销难在哪?
参考答案各系统本地会话是独立副本,认证中心无法直接触达。要么票据短时效加频繁回验,要么广播注销事件,要么前端统一跳中心登出——分布式状态一致的缩影。