我使用 XMLHttpRequest 和 basic-auth 来访问应用程序接口。密码是临时的,是由其他请求生成的,所以它会在一段时间后过期。
但是浏览器(至少是 Firefox)继续使用旧的,失败并显示登录弹出窗口。如果我通过为带有 X-Requested-By 和错误密码的请求返回 403 来抑制弹出窗口,则 mozilla 永远不会尝试使用新密码(firebug 在请求中显示新密码,服务器接收旧密码)。
可以通过向用户名添加随机“盐”(并在服务器端剥离它)来避免问题,但是有没有更好的方法来强制 XMLHttpRequest 使用提供的密码而不是缓存?