知用网
白蓝主题五 · 清爽阅读
首页  > 网络运维

登录认证请求头怎么传 详细教程与注意事项说明

常见的认证方式与请求头传递

在日常开发和接口调试中,很多后端接口都做了权限控制,访问前需要先登录并携带认证信息。最常见的做法就是通过请求头(Request Header)传递登录凭证。比如你写一个前端页面调用公司内部的用户中心API,结果返回401未授权,大概率就是没传对认证头。

最常用的几种认证方式包括:Basic Auth、Bearer Token(如JWT)、自定义Token等。它们都需要在请求头里带上对应字段。

Basic Auth 认证

这种方式把用户名和密码拼成 username:password,再用Base64编码后放在 Authorization 头里。

Authorization: Basic dXNlcjE6cGFzc3cwcmQ=

注意这里的 dXNlcjE6cGFzc3cwcmQ=user1:passw0rd 经过 Base64 编码的结果。虽然看起来像加密,其实只是编码,不能当安全手段用,必须配合 HTTPS。

Bearer Token(JWT)认证

现在大多数前后端分离项目都用 JWT 做状态无会话认证。用户登录成功后,服务器返回一个 token,后续请求都要把这个 token 放到请求头中。

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxxx

前端拿到 token 后,在每次发请求时手动设置这个头,或者用 Axios、Fetch 封装统一注入。

自定义 Token 认证

有些老系统或内部服务不用标准格式,可能用 X-Auth-TokenX-Token 这类自定义字段传 token。

X-Auth-Token: abcdef1234567890

这种需要看接口文档具体要求,字段名不固定,但原理一样:把登录后拿到的令牌塞进指定请求头。

实际代码示例

使用 JavaScript 的 fetch 发起一个带 Bearer Token 的请求:

fetch('https://api.example.com/user/1', {
method: 'GET',
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxxx',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));

如果是用 Postman 测试接口,就在 Headers 标签页添加键值对,Key 写 Authorization,Value 写 Bearer <你的token> 即可。

常见踩坑点

少写 Bearer 前缀是高频错误。比如只传了 token 字符串,漏掉了 Bearer 和空格,服务器就识别不了。正确格式是 Bearer <token>,中间有个空格。

另一个问题是大小写敏感。虽然 HTTP 头字段名不区分大小写,但建议统一用标准写法,避免某些网关或中间件异常拦截。

还有的时候 token 过期了,一直调试请求头也没用,得重新登录拿新 token。别死磕头部格式,先确认 token 本身有效。