Bearer Token 请求头格式详解:接口认证的常见用法

在开发或调试 Web ref="/tag/42/" style="color:#EB6E00;font-weight:bold;">接口时,经常会遇到需要登录后才能访问的资源。这时候,服务器通常会返回一个 Bearer Token,用于后续请求的身份验证。这个 Token 不是直接拼在 URL 上,而是通过请求头(Request Header)传递,最常见的就是使用 Authorization 头。

Bearer Token 的标准格式

Bearer Token 的请求头格式非常固定,遵循 RFC 6750 规范。它的写法是:

Authorization: Bearer <token>

其中 Bearer 是固定的关键字,后面跟一个空格,接着才是你的实际 Token 字符串。例如,如果你拿到的 Token 是 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...,完整的请求头应该是:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

实际使用场景示例

假设你在用 Postman 测试一个用户资料接口 https://api.example.com/user/profile,这个接口要求登录。你先用账号密码获取了 Token,现在要调用该接口,就需要在 Headers 选项卡中添加:

Key: Authorization
Value: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

这样服务器才能识别你的身份,返回正确的数据。漏掉 Bearer 前缀,或者多加了引号、逗号,都会导致 401 未授权错误。

在代码中如何设置

如果你用 JavaScript 发起请求,比如使用 fetch,可以这样写:

fetch('https://api.example.com/user/profile', {
method: 'GET',
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
}
})

Python 中用 requests 库也类似:

import requests

headers = {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
}
response = requests.get('https://api.example.com/user/profile', headers=headers)

常见问题注意点

很多人在复制 Token 时容易顺手把前后空格一起带上,这会导致验证失败。另外,有些接口文档写的 TokenJWT,但实际仍要用 Bearer 前缀,别被名字误导。只要看到返回的是长字符串且要求放在 Authorization 头里,基本都是这种格式。

还有一点,Bearer Token 是敏感信息,不能暴露在前端代码或日志里。就像你不会把银行卡密码写在便利贴上贴电脑屏幕一样,Token 也要小心保管,避免被盗用。