在我们设计和使用 API 授权的时候,经常会接触到如下内容:

1
Authorization : Bearer Tokenxxxxxx

为什么前面会有个 Bearer,直接弄成这样不是更简单么。

1
Authorization : Tokenxxxxxx

这是因为 W3C 的 HTTP 1.0 规范,具体见 10.2 和 11 。Authorization 的格式是:

1
Authorization: <type> <authorization-parameters>

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

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