Digest Authentication 是一种 HTTP 访问控制认证机制,相比 Basic Auth 提供了更高的安全性。Basic Auth 会以明文形式(Base64 编码)发送凭据,而 Digest Auth 使用加密哈希在传输过程中保护用户凭据。Digest Auth 的工作原理#
在 Basic Auth 中,客户端会将用户名和密码以 Base64 编码发送到服务器。这些凭据可能会通过网络传输,并可能被中间人拦截,而中间人可以轻易解码这些凭据。Digest Authentication 通过使用加密算法来保护用户凭据的传输,从而解决了这个问题。客户端不会发送密码本身, 而是发送由密码与其他值(nonce、realm 等)组合生成的哈希值,这使攻击者更难拦截并重复使用凭据。Basic Auth:用户名和密码以 Base64 形式发送(容易解码)
Digest Auth:发送加密哈希而不是密码(不容易反向还原)
基本设置#
在 Auth 页面,选择 Digest Auth 作为授权方式,并配置你的凭据:| 参数 | 描述 | 必填 |
|---|
| Username | 你的认证用户名 | 是 |
| Password | 你的认证密码 | 是 |
高级设置#
点击 Advanced 选项以配置其他加密参数。如果留空,它们将根据服务器的响应自动生成。| 参数 | 描述 | 来源 |
|---|
| Realm | 保护空间标识符 | 由服务器在 WWW-Authenticate 头部中提供 |
| Nonce | 服务器指定的唯一字符串 | 由服务器在 WWW-Authenticate 头部中提供 |
| Algorithm | 加密哈希算法 | MD5、SHA-256、SHA-256-sess、SHA-512-256、SHA-512-256-sess |
| qop (Quality of Protection) | 摘要算法的质量级别 | auth(仅认证)或 auth-int(认证 + 完整性) |
| Client Nonce | 客户端生成的随机数 | 由客户端为每个请求生成 |
| Opaque | 服务器提供的随机字符串 | 由服务器返回,并原样发回 |
Quality of Protection (qop) 值#
| 值 | 描述 | 使用场景 |
|---|
| auth | 认证质量保证 | 标准摘要认证 |
| auth-int | 认证 + 完整性保护 | 通过消息完整性验证增强安全性 |
在大多数情况下,你只需要提供用户名和密码。Apidog 会自动从服务器的初始响应中提取 Realm、Nonce 和其他参数,并为你完成配置。
确保你的 API 端点支持所选算法。现代实现通常支持 SHA-256 或 SHA-512 变体,以提供比旧版 MD5 算法更高的安全性。