Basic Auth 基本认证
HTTP 自带的认证方式,每个请求都把用户名密码塞在 Authorization 头里。
格式:Authorization: Basic <base64(username:password)>
为什么说它”基本”
- 不加密,只是 Base64 编码 —— Base64 不是加密,人眼能解
- 每次请求都发凭证 —— 一旦截获就完了
- 无 session 概念 —— 不知道用户是谁、什么时候过期
- 没法登出 —— 浏览器要重启才忘掉缓存
它的唯一价值
- 简单 —— 一行代码搞定
- 协议层面支持 —— 不需要额外框架
- 服务器到服务器的内网调用还能凑合用
用之前必须知道
- 只能跑在 HTTPS 上,HTTP 上等于明文发密码
- 不要给终端用户用 —— 用 MFA + session 或 OAuth 2.0
- API 调用 —— 现代方案是 API Token / JWT,不是 basic auth
- 泄露后果 —— 凭证一旦丢失,直到改密码前持续受害
简单说:除非是受控的服务器内网通信,别在生产环境用 basic auth。