API Authorization 标头里为什么要加 Bearer

设计 API 授权,或者调用第三方 API 时,经常会接触到:

1
Authorization : Bearer Tokenxxxxxx

有没有疑惑为何不直接写成这样就得了:

1
Authorization : Tokenxxxxxx

这是因为 W3C 的 HTTP 1.0 规范,Authorization 的格式是:

1
Authorization: <type> <authorization-parameters>

所以 Bearer 是授权的类型,常见的授权类型还有:

  • Basic 用于 http-basic 认证;
  • Bearer 常见于 OAuth 和 JWT 授权;
  • Digest MD5 哈希的 http-basic 认证 (已弃用)
  • AWS4-HMAC-SHA256 AWS 授权