Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 007

访问令牌(Access Token)

审核人Cybersecurity entrepreneur & security researcher

访问令牌(Access Token) 是什么?

访问令牌(Access Token)由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。


访问令牌代表资源所有者授予客户端的授权,并被限定在特定的权限与受众范围内。在 OAuth 2.0(RFC 6749)与 OpenID Connect 中,访问令牌可以是不透明的——通过调用授权服务器的内省端点(RFC 7662)进行验证——也可以是自包含的 JWT,在本地通过签名验证。它通常按照 RFC 6750 承载在 Authorization: Bearer 请求头中,并且必须经由 TLS 传输。

普通持有者令牌的核心弱点在于:持有即等于权限。从浏览器存储、日志或代理处窃取到的令牌,任何人都可以重放。这推动了发送方绑定令牌的兴起。RFC 8705 将令牌绑定到客户端的 TLS 证书(在 cnf.x5t#S256 声明中记录其哈希值),RFC 9449(DPoP)则将令牌绑定到客户端持有的密钥对,要求每次请求都附带一个新鲜的已签名证明 JWT,从而使被重放的令牌在缺少私钥的情况下毫无用处。令牌窃取攻击——包括 Lapsus$ 中出现的会话/令牌重放,以及各类云环境的 "pass-the-token" 入侵——正是这些机制所要挫败的对象。

最佳实践:短有效期(以分钟计)、收窄作用域、严格校验 audience 与 issuer、拒绝 alg: none 的 JWT 把戏、配合 refresh token 进行续期,并避免将令牌存放在 JavaScript 可访问的存储中。对于高价值 API,应优先采用 DPoP 或 mTLS 绑定的令牌,而非普通持有者令牌。

flowchart LR
  RO[资源所有者] -->|授予同意| AS[授权服务器]
  C[客户端] -->|令牌请求加 DPoP 或 mTLS 密钥| AS
  AS -->|短期访问令牌<br/>scope 加 aud 加 cnf 声明| C
  C -->|持有者令牌加持有证明| RS[资源服务器或 API]
  RS -->|验证签名或内省<br/>检查 aud exp 与密钥绑定| RS
  RS -->|允许或拒绝| C

示例

  1. 01

    一个 scope=read:invoices、exp 设为未来 15 分钟的 OAuth 2.0 访问令牌。

  2. 02

    一个通过授权服务器 /introspect 端点验证的不透明令牌。

常见问题

访问令牌(Access Token) 是什么?

由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。 它属于网络安全的 身份与访问 分类。

访问令牌(Access Token) 是什么意思?

由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。

如何防御 访问令牌(Access Token)?

针对 访问令牌(Access Token) 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语

另见