什么是 持有者令牌?

持有者令牌是 HTTP 认证中使用的一种访问令牌类型,客户端出示令牌以访问受保护的资源。术语 'bearer' 意味着持有令牌的任何一方都可以使用它来访问资源,而无需额外的身份证明。

快速了解

全称Bearer 认证令牌
创建时间2012 年(RFC 6750)
规范文档官方规范

工作原理

Bearer 令牌通常用于 OAuth 2.0 认证流程。它们通常在 HTTP Authorization 头中以 'Bearer <token>' 格式发送。令牌本身通常是 JWT(JSON Web Token)或不透明字符串。Bearer 令牌是无状态的,意味着服务器不需要存储会话信息。然而,由于任何持有令牌的人都可以使用它,因此必须通过 HTTPS 安全传输并安全存储。令牌通常有过期时间,可以被授权服务器撤销。

主要特点

  • 在 Authorization 头中以 'Bearer <token>' 发送
  • 通常与 OAuth 2.0 一起使用
  • 令牌持有者有访问权限(无需额外证明)
  • 通常是 JWT 或不透明字符串格式
  • 无状态认证机制
  • 必须通过 HTTPS 传输

常见用途

  1. API 认证
  2. OAuth 2.0 访问令牌
  3. 单点登录(SSO)系统
  4. 移动应用认证
  5. 微服务授权

示例

loading...
Loading code...

常见问题

为什么叫做'持有者'令牌?

它被称为'持有者'令牌是因为持有(拥有)令牌的人就可以用它访问受保护的资源,类似于实体钥匙。除了出示令牌外,不需要额外的身份证明。

Bearer 令牌应该如何安全存储?

Bearer 令牌应该存储在安全的 httpOnly cookie 或安全存储机制中。对于敏感应用,应避免将它们存储在 localStorage 或 sessionStorage 中,因为它们可能容易受到 XSS 攻击。

如果 Bearer 令牌被盗会怎样?

如果被盗,攻击者可以冒充合法用户,直到令牌过期或被撤销。这就是为什么令牌应该始终通过 HTTPS 传输并设置较短的过期时间。

Bearer 令牌和 API 密钥有什么区别?

Bearer 令牌通常是短期的、用户特定的,并通过 OAuth 2.0 等认证流程发放。API 密钥通常是长期的、应用特定的,用于识别调用应用程序而非用户。

如何刷新过期的 Bearer 令牌?

大多数 OAuth 2.0 实现会在发放 Bearer 令牌时同时提供刷新令牌。当 Bearer 令牌过期时,你可以使用刷新令牌获取新的访问令牌,而无需用户重新认证。

相关工具

相关术语

相关文章