Session、Token、OAuth 与权限控制
区分身份认证、登录状态和操作授权。
- 用自己的话解释“Session、Token、OAuth 与权限控制”及其核心术语。
- 在真实 AI 产品场景中识别何时应该使用本课方法。
- 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
REAL SCENE
先从一个真实场景开始
企业管理员邀请成员后,成员通过第三方登录进入系统,却能看到不属于自己的知识库。团队只验证“登录成功”,没有验证资源归属和角色权限。认证、会话和授权混在一起,会让便利功能演变成严重越权漏洞。
PLAIN EXPLANATION
说人话:它到底是什么?
认证回答当前请求者是谁,Session 或 Token 用于在后续请求中维持身份,OAuth 允许用户授权第三方访问有限能力;授权则根据身份、角色、资源归属和当前状态判断能否执行某动作。前端隐藏按钮不是安全控制,所有敏感操作都要在服务端逐次校验。权限模型要覆盖默认拒绝、最小权限、过期撤销和审计。
登录与会话
密码、多因素或第三方身份完成认证后,系统建立会话。Session 常由服务端保存状态,Token 常由客户端携带声明;二者都需安全存储、合理过期、刷新与撤销机制。
- 登录失败不泄露账号是否存在
- 高风险操作可要求再次认证
- 退出与封禁能及时使凭证失效
OAuth 授权边界
OAuth 的核心是让用户授权客户端获得有限范围,而不是把密码交给第三方。产品要明确 scope、同意页面、回调地址、授权期限和撤销入口,避免默认申请所有权限。
- 只申请当前功能所需 scope
- 回调地址严格匹配
- 用户可查看和撤销已授权应用
资源级授权
角色权限还不够,服务端要校验对象属于哪个组织、项目或用户,以及资源当前状态是否允许操作。默认拒绝和统一授权层能减少遗漏;关键权限变化进入审计。
- 每次请求重新验证资源关系
- 列表与详情使用同一过滤规则
- 管理员操作也受范围与审计约束
认证、会话与授权是不同环节,任何一个都不能替代另一个。
权限默认拒绝并按最小范围授予,服务端逐请求校验。
凭证需可过期、刷新、撤销,关键操作可追溯。
KEY POINT
这节课最重要的结论
- 为什么重要
- 这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
- 适用边界
- 当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
EXAMPLES
正确案例与常见反例
企业成员通过 OAuth 登录时仅申请基本身份 scope;服务端创建短期会话。读取文档时同时校验组织、角色和文档归属,列表与详情复用同一授权策略。成员离职后会话和第三方授权立即撤销,管理员导出操作写入审计。
前端根据 role=member 隐藏管理按钮,但删除接口只检查是否登录。攻击者改请求中的 organizationId 就能读取他人数据;Token 永不过期,退出只清浏览器页面,离职账号仍可通过旧链接访问。
“权限判断请统一在服务端:先验证会话,再校验 tenantId、角色、资源归属和动作。默认拒绝,列表与详情共用策略;Token 设置短期过期与可撤销机制。所有管理员导出和权限变更写审计日志。”
HANDS-ON
必做实操任务
本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《Session、Token、OAuth 与权限控制》一页实践卡
步骤 1为普通成员、内容管理员和组织管理员制作资源动作权限矩阵。
步骤 2画出登录、会话建立、过期刷新、退出和封禁的状态流程。
步骤 3审计一个详情接口,验证修改资源 ID 后服务端仍执行归属校验。
步骤 4为第三方登录定义最小 scope、同意文案、回调和撤销入口。
实践结果会自动保存在本机,并进入项目工坊的任务来源。
系统与资源:____
身份来源:密码 / SSO / OAuth / 其他____
会话方式:____ 过期:____ 刷新:____ 撤销:____
角色|资源范围|查看|创建|修改|删除|导出:____
资源级条件:tenantId____ ownerId____ status____
默认拒绝位置:____
前端体验控制:____ 服务端权威校验:____
OAuth scope:____ 回调:____ 撤销:____
高风险再认证:____
审计事件与保留期:____
越权测试:____CHECKLIST
产品经理工作检查表
MASTERY QUIZ
掌握测验
达到 60% 即可完成本课。
INTERVIEW
常见面试题
展开参考回答
先区分身份认证、会话和授权,再定义组织、角色、资源归属和动作矩阵;服务端默认拒绝并逐请求校验 tenant、角色、owner 与状态,列表和详情规则一致。凭证设置过期、刷新、撤销和高风险再认证,OAuth 最小 scope,权限变更、导出与管理员动作进入审计,并通过水平越权测试验证。
RECAP & FURTHER READING
重点回顾、延伸阅读与下一步
- 1
围绕“Session、Token、OAuth 与权限控制”继续阅读:查阅对应技术的官方入门文档,重点核对输入输出、失败方式、权限边界与可观测性。
- 2
用“Session、Token、OAuth”作为检索词,分别写下一条定义、一条适用边界和一个反例。
- 3
对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。