访问令牌(Access Token)
访问令牌(Access Token) 是什么?
访问令牌(Access Token)由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。
访问令牌代表资源所有者授予客户端的权限,作用域和受众均受限。在 OAuth 2.0 与 OpenID Connect 中,访问令牌可以是不透明的(通过 introspection 验证)或自包含的 JWT(本地通过签名验证)。它通常承载在 Authorization: Bearer 头中并必须经过 TLS。最佳实践包括:短有效期(以分钟计)、最小作用域、校验 audience 和 issuer,并尽可能存储在 JavaScript 内存之外。配合 refresh token 进行续期;对高价值 API,优先使用 DPoP 或 mTLS 绑定等与发送方相关的变体。
● 示例
- 01
scope=read:invoices、有效期 15 分钟的 OAuth 2.0 访问令牌。
- 02
通过授权服务器 /introspect 端点验证的不透明令牌。
● 常见问题
访问令牌(Access Token) 是什么?
由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。 它属于网络安全的 身份与访问 分类。
访问令牌(Access Token) 是什么意思?
由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。
访问令牌(Access Token) 是如何工作的?
访问令牌代表资源所有者授予客户端的权限,作用域和受众均受限。在 OAuth 2.0 与 OpenID Connect 中,访问令牌可以是不透明的(通过 introspection 验证)或自包含的 JWT(本地通过签名验证)。它通常承载在 Authorization: Bearer 头中并必须经过 TLS。最佳实践包括:短有效期(以分钟计)、最小作用域、校验 audience 和 issuer,并尽可能存储在 JavaScript 内存之外。配合 refresh token 进行续期;对高价值 API,优先使用 DPoP 或 mTLS 绑定等与发送方相关的变体。
如何防御 访问令牌(Access Token)?
针对 访问令牌(Access Token) 的防御通常结合技术控制与运营实践,详见上方完整定义。
● 相关术语
- identity-access№ 574
JWT(JSON Web Token)
紧凑、URL 安全的令牌格式(RFC 7519),携带带签名的 JSON 声明,广泛用作访问令牌、ID 令牌和会话载体。
- identity-access№ 088
Bearer 令牌(持有者令牌)
RFC 6750 定义的不透明或结构化凭据,仅凭持有即可授予对资源的访问权限,不需证明持有者是合法所有者。
- identity-access№ 913
刷新令牌(Refresh Token)
用于在 OAuth 2.0 授权服务器上换取新短期访问令牌的长期凭据,无需用户再次登录。
- identity-access№ 749
OAuth 2.0
开放的授权框架,允许资源所有者在不共享凭据的情况下,授予第三方应用对 API 的有限范围访问。
- identity-access№ 760
OpenID Connect (OIDC)
构建在 OAuth 2.0 之上的身份层,允许客户端通过签名的 ID 令牌验证用户身份并获取基本资料。
- appsec№ 052
API 安全
围绕 API 的设计、构建与运营,使其在受到攻击时仍能保持身份认证、授权、数据暴露与抗滥用能力的实践。
● 参见
- № 575JWT 漏洞