设计 API 授权,或者调用第三方 API 时,经常会接触到:
Authorization : Bearer Tokenxxxxxx有没有疑惑为何不直接写成这样就得了:
Authorization : Tokenxxxxxx这是因为 W3C 的 HTTP 1.0 规范,Authorization 的格式是:
Authorization: <type> <authorization-parameters>所以 Bearer 是授权的类型,常见的授权类型还有:
| 授权类型 | 说明 |
|---|---|
| Basic | 用于 http-basic 认证 |
| Bearer | 常见于 OAuth 和 JWT 授权 |
| Digest | MD5 哈希的 http-digest 认证(已弃用) |
| HOBA | HTTP 消息签名认证(已弃用) |
| Mutual | HTTP 消息签名认证(已弃用) |
| Negotiate | SPNEGO 认证(已弃用) |
| SCRAM-SHA-1 | SCRAM-SHA-1 认证(已弃用) |
| SCRAM-SHA-256 | SCRAM-SHA-256 认证(已弃用) |
| vapid | VAPID 认证 |
| AWS4-HMAC-SHA256 | AWS 认证 |
| AWS4-HMAC-SHA256-PAYLOAD | AWS 认证 |
| MAC | MAC 认证 |
| Netrc | Netrc 认证 |
TIP
