我使用内置的tools.auth_digest
工具在CherryPy应用程序中实现了HTTP摘要身份验证。这很容易,而且在我白天测试时看起来效果很好。
今晚,我试图从我今天早些时候使用的同一个浏览器访问该应用程序(但是来自不同的IP地址)。无论出于何种原因,我都被提示输入凭证我可能输入了错误的密码但是,无论出于何种原因,我都遇到了我的浏览器正在为每个请求发送身份验证标头的情况,但是username=""
。
Cherrypy以400 Bad Request状态响应此事。
我现在处于无法输入新凭据进入网站的情况下(使用此浏览器 - 我可以使用不受“污染”的浏览器而不会出现问题)。要输入新的凭据,我的理解是CherryPy应该返回401 Unauthorized,这应该提示浏览器请求凭据。
我的两个问题是:
如何清除浏览器上的授权信息?
我是否正确对这种情况的正确回应应该是401未经授权而不是400错误请求?
答案 0 :(得分:1)
正如Perception在评论中指出的那样,浏览器在关闭时会忘记凭据。我猜测当我测试这个并且认为我看到浏览器在浏览器会话之间记住凭据时我必须同时在几个不同的窗口中打开Chrome。