源本科技 | 码上会

集成认证授权 - OAuth 2.0 令牌

2026/05/02
21
0

引言

令牌的访问与刷新是 OAuth 2.0 协议中的关键核心机制,用于安全获取、动态更新权限访问令牌,持续保障资源访问的安全性。

Access Token

  • Access Token 是客户端访问资源服务器的身份令牌,代表用户已授予的操作权限。该授权凭证必须为临时有效状态,配置固定有效期。
    由于 Access Token 在传输与调用过程中存在泄露风险,为其设置较短有效期,可大幅降低令牌泄露后被非法盗用的安全风险。

  • 引入有效期限制后,也产生了使用体验问题:每当 Access Token 过期,客户端就需要重新引导用户发起授权,频繁重复授权会严重影响用户日常使用体验。为解决安全策略与使用体验的矛盾,OAuth 2.0 正式引入 Refresh Token 刷新机制。

  • Refresh Token 允许客户端在 Access Token 过期后,主动换取全新的 Access Token,全程无需用户重复授权操作。该机制既保留了 Access Token 短期有效的安全设计,又规避了频繁授权的繁琐操作,兼顾系统安全与用户体验,完善了 OAuth 2.0 整体授权体系。

Refresh Token

Refresh Token 的核心作用是刷新过期的 Access Token,认证服务器会提供专属的令牌刷新接口。

http://域名/refresh?refresh_token=&client_id=

调用该接口时,传入 refresh_tokenclient_id 参数,认证服务器校验通过后,即可返回全新的 Access Token。为进一步加固安全体系,OAuth 2.0 新增两项重要安全防护措施:

  • Refresh Token 不允许存储在前端客户端(App、PC 客户端、浏览器等),必须加密保存于业务服务端;令牌刷新请求仅限服务端与服务端之间发起调用。

  • 新增 client_secret 密钥机制,每一个 client_id 都会对应唯一专属的 client_secret;该密钥在客户端注册申请 client_id 时统一分配,需要在服务端妥善保管、禁止外泄,刷新令牌的请求中必须携带并校验该密钥。

优化后的标准刷新接口请求示例:

http://域名/refresh?refresh_token=&client_id=&client_secret=

Refresh Token 通常拥有更长的有效期,用户授权成功后,会随 Access Token 一同通过回调 URL 返回给客户端服务端。整套令牌刷新机制,从设计层面平衡了安全管控、令牌风险与用户操作体验,是 OAuth 2.0 协议中非常重要的补充设计。