我在一个使用基本身份验证的网站上工作。使用Chrome我已经登录使用基本的认证。现在我想从浏览器中删除基本的身份验证细节,并尝试不同的登录。
使用Chrome浏览器时,如何清除当前的基本身份验证细节?
我在一个使用基本身份验证的网站上工作。使用Chrome我已经登录使用基本的认证。现在我想从浏览器中删除基本的身份验证细节,并尝试不同的登录。
使用Chrome浏览器时,如何清除当前的基本身份验证细节?
当前回答
在我的情况下(Win Chrome v100),它在使用https://@domain.com删除凭据时起作用。在开发工具中验证并查询document.URL。
其他回答
这是一个快速的技巧。 例如,您已经通过user1:password1输入url https://example.com的基本身份验证。要清除它,只需打开新标签,然后:
转到https://any:any@example.com,您的密码将被删除。
Any: Any是任意字符串。
你可以打开一个隐身窗口Ctrl+Shift+n每次你做一个测试。隐身窗口将不记得您上次输入的用户名和密码。
要使用这个技巧,请确保关闭所有隐身窗口。所有隐身窗口共享相同的缓存。换句话说,你不能打开多个独立的隐身窗口。如果您登录其中一个窗口并打开另一个窗口,这两个窗口是相关的,您将看到新窗口记住了第一个窗口中的身份验证信息。
在Chrome中还没有办法做到这一点(Chrome 58)
我发现最好的解决方案是在隐身窗口中打开url,这将迫使您重新输入基本的身份验证凭据。
当您想要更改凭证时,请关闭隐身窗口并启动另一个隐身窗口。
最奇怪的事情,但在我的情况下,我试图访问一个具有基本认证的页面,Chrome甚至没有提示就发送无效凭据。在我注销了我的LastPass插件后,一切都恢复正常了。所以我认为LastPass开始支持基本身份验证,但它没有提供使用什么密码的选项,它看起来只是为匹配的域发送一个随机密码(这在我的情况下是非常有问题的)。
也许能帮到别人。
function logout(url){
var str = url.replace("http://", "http://" + new Date().getTime() + "@");
var xmlhttp;
if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();
else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) location.reload();
}
xmlhttp.open("GET",str,true);
xmlhttp.setRequestHeader("Authorization","Basic YXNkc2E6")
xmlhttp.send();
return false;
}