跳转至

[22] OAuth 2.0(RFC 6749):认证授权的最小事实源

  • 原始来源:https://www.rfc-editor.org/rfc/rfc6749
  • 对应章节:第 9 章(后端架构)、第 11 章(用户模块)

一句话摘要

OAuth 2.0 不是登录方案,而是一个授权框架:它解决的是某个客户端能不能代表用户去访问资源,并且把边界写成可验证的流程与错误语义。

你应该从这里带走什么(面向产品)

  • 把登录和授权分开想:用户登录(AuthN)不等于你的应用能访问一切资源(AuthZ)。
  • 把授权当作产品合同:用户授予了什么、有效期多久、能不能撤销、撤销后会发生什么(审计与可追溯)。
  • 把失败当作一等公民:授权过期、撤销、scope 不足、token 无效,都需要明确的用户恢复路径。

工程落地要点(可执行)

  • 设计资源与 scope:先定义最小 scope 集合(按资源/动作划分),避免一个 token 全能。
  • 统一错误语义:对外错误码要稳定可复现;对内要能追溯到拒绝原因与上下文(tenant、resource_id、scope)。
  • 全链路审计:授权与 token 生命周期关键事件必须进审计(签发/刷新/撤销/失败原因)。

常见误用提醒

  • 把 OAuth 当作认证协议:OAuth 解决授权;认证要配合 OIDC 或其他身份体系。
  • 只在前端做权限判断:授权必须由服务端强校验,UI 隐藏不算安全。