身份验证 (authn) 确定调用者的身份——通过密码验证、令牌签名验证或客户端证书验证。授权 (authz) 基于此身份,决定是否允许对特定资源执行特定操作。每个受保护的请求都会按此顺序经过身份验证和授权。
HTTP 会针对每种错误状态返回不同的错误代码:401 Unauthorized 表示身份验证缺失或失败,客户端需要获取或刷新凭据;403 Forbidden 表示已知调用者身份,但仍然无法访问,因此使用相同的身份再次尝试是徒劳的。角色、作用域和资源所有权都是授权的输入参数。
401 和 403 错误可以互换。名称容易误导——401 实际上是"unauthenticated" ——但区别在于客户端的行为:如果客户端在出现 403 错误时将用户重定向回登录页面,就会让用户陷入无法解决问题的登录循环。
在目录中使用 qa-viewer-token 对任何 DELETE 请求执行操作,即可从已知但权限不足的调用者处获得 403 错误;而完全不发送令牌则会收到 401 错误——相同的端点,两种不同的失败。
所有术语 · 测试技巧 · 全部 39 个模拟 REST API
最后更新时间