Basic Auth 基本认证

HTTP 自带的认证方式,每个请求都把用户名密码塞在 Authorization 头里。

格式:Authorization: Basic <base64(username:password)>

为什么说它”基本”

  • 不加密,只是 Base64 编码 —— Base64 不是加密,人眼能解
  • 每次请求都发凭证 —— 一旦截获就完了
  • 无 session 概念 —— 不知道用户是谁、什么时候过期
  • 没法登出 —— 浏览器要重启才忘掉缓存

它的唯一价值

  • 简单 —— 一行代码搞定
  • 协议层面支持 —— 不需要额外框架
  • 服务器到服务器的内网调用还能凑合用

用之前必须知道

  1. 只能跑在 HTTPS,HTTP 上等于明文发密码
  2. 不要给终端用户用 —— 用 MFA + session 或 OAuth 2.0
  3. API 调用 —— 现代方案是 API Token / JWT,不是 basic auth
  4. 泄露后果 —— 凭证一旦丢失,直到改密码前持续受害

简单说:除非是受控的服务器内网通信,别在生产环境用 basic auth