ChatGPT解决这个技术问题 Extra ChatGPT

How to clear basic authentication details in chrome

I'm working on a site that uses basic authentication. Using Chrome I've logged in using the basic auth. I now want to remove the basic authentication details from the browser and try a different login.

How do you clear the current basic authentication details when using Chrome?

Oh, this pisses me of as well. Firefox behaves similarly by the way, and that's crazy.
@shabunc similarly, but not identical, and yes i agree with you completely!
you can implement in with some request param like ?no_auth that server understands and returns 401, so that chrome will forget remembered auth info.
The accepted answer no longer works as of Chrome 65. Use the chrome://restart answer instead.
This problem is HTTP-related, not Chrome-related: see stackoverflow.com/q/233507/685806

C
Community

It seems chrome will always show you the login prompt if you include a username in the url e.g.

http://me@example.com

This is not a real full solution, see Mike's comment below.


After I did this in Chrome 21, I found it started always asking for the password, instead of never. Apparently, it will hide the "username@" part in the URL, but still keep it. If you re-enter the URL after doing this (without the @ part), it will stop asking. Just a tip!
Doesn't work for me in Chrome 28 on Mac. If I log in with one user then put a different user in the URL, it seems to use the old user and password.
I couldn't get this to work for me until I included the password also (user:password@domain.com). I used the new user/password I was trying to login as and it worked. (In my case I had to urlencode the password, also.)
In Chrome 63, Windows 10, this worked only the first time. I tried this trick and many variants, like including a password, to no avail. The only thing that works consistently for me is using incognito windows - see respose stackoverflow.com/a/9558863/4142084 below.
This used to work a few months ago. Now, with Chrome 65, it does not.
C
CEGRD

You can open an incognito window Ctrl+Shift+n each time you are doing a test. The incognito window will not remember the username and password the last time you entered.

To use this trick, make sure to close all incognito windows. All incognito windows share the same cache. In other words, you cannot open multiple independent incognito windows. If you login in one of them and open another one, those two are related and you will see that the new window remembers the authentication information from the first window.


sweet, thanks, I tried clearing ALL my browser data, closing and reopening chrome, and it still did not ask for auth details. Opening an incognito window worked :)
Though it sounds really strange, this trick does not work for me in Chrome 34 on Windows.
@Martijn If true, that sounds like a nasty security bug.
Chrome remembers basic auth in incognito windows
@singsuyash / @Tyguy7 / @Dolfa Note that several 'incognito' (alias private) windows do share auth among themselves. If you want a clean session, close all private windows before opening a new one. Also, it can be worth noticing that if you open the debugger (F12), you get an option in the contextual menu of the "refresh" button to "clear cache and force refresh". This is sometimes very useful, especially when you browsed in non-private mode and need a clean reload.
S
Sal Celli

all you need to do is to type chrome://restart in the address bar and chrome, with all its apps that are running in background, will restart and the Auth password cache will be cleaned.


Didn't work for me (Version 54.0.2840.98 (64-bit) on Mac OS X 10.11) with On Startup: Continue where you left off
Working, in (Chromium) incognito mode, as of 62.0.3202.62 (Official Build) (64-bit) on Windows.
Does not work for me (63.0.3239.84 (Official Build) Built on Ubuntu , running on Ubuntu 16.04 (64-bit))
Doesn't work for me too now: Version 67.0.3396.87 (Official Build) (64-bit) Ubuntu 16.04 (64-bit)
besides wouldn't that blow away ALL your basic auth creds? I want to do it per site.
A
Alex78191

The authentication is cleared when you exit Chrome.

Note however, that by default Chrome is running apps in the background, so it may not really exit even if you close all Chrome windows. You can either change this behavior under advanced setting, or e.g. under Windows, you can completely exit Chrome by using the Chrome icon in the systray. There should be an icon if Chrome is still running, but maybe you'll find it only in the popup with the hidden icons. The context menu of the Chrome icon has an entry to completely exit Chrome, and you can also change the setting for running apps in the background using that menu.

Open the Chrome menu Select Settings Scroll to the bottom Click Show advanced settings... Scroll to the bottom Under System uncheck the box labeled: Continue running background apps when Google Chrome is closed


In my case there was no systray icon, but I had an app running that I had forgotten was a Chrome app (Flowdock) & had to exit it as well.
Ctrl-Shift-Q will quit all chrome proccess'
It should be the accepted answer! Also you use chrome://restart as sal-celli said.
This is untrue. Chrome still remembers my basic auth logins after dozens of reboots. It saves these logins like any other login.
@Cito, And again, your answer is not helpful, because it doesn't solve the problem. The "internal cache" you're talking about is not a cache but the browser's password saving feature, which the answer I linked to explains how to clear. Passwords aren't "cached" in the sense of images and Javascript files. That would be insane and lead to a massive security hole.
S
Sushovan Mukherjee
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;
}

Where does the "Basic YXNkc2E6" value come from?
Very well. It really works. The YXNkc2E6 is just a hash string for when you do not want to pass the actual username and password. It is not really necessary here
echo YXNkc2E6 | base64 -D => asdsa:
Why not just "Basic"?
This actually worked for me. Version 66.0.3359.139 (Official Build) (64-bit). I'm really happy to break the basic auth chains finally. you need to : 1. declare this function in the dev console 2. call it with your website like logout('http://google.com') 3. see the basic auth dialog immediately
T
TPoschel

This isn't exactly what the question is asking for but in case you accidentally saved basic auth credentials and want to clear them or update them:

https://support.google.com/accounts/answer/6197437

Open Chrome. At the top right, click More > and then Settings. At the bottom, click Advanced. Under "Passwords and forms," click Manage passwords. Under "Saved Passwords", click Remove on the site you want to clear saved basic auth credentials.

Steps 1-4 can be quickly navigated with this link: chrome://settings/passwords

This worked in Chrome Version 59.0.3071.115


your link is broken (try it yourself) the chrome link... copy paste worked
He's talking about Basic authentication data, not form passwords.
S
Suraj Rao

Right click on your Bookmark Bar -> Add Page... Set the name as Logout Basic Auth Set the URL as:

javascript: (function() {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            location.reload()
        }
    };
    xmlhttp.open("GET", location.origin, true);
    xmlhttp.setRequestHeader("Authorization", "Basic aW52YWxpZDoK");
    xmlhttp.send();
    return false;
})()

On any webpage you need to logout of Basic Auth, click the bookmark.


I understand the security reasons for the browser stripping "javascript:" when I try to paste it into the address bar, but I feel betrayed nonetheless that it didn't obey my command and surprised me by doing a Google search for the remainder of the text
This is the only solution that worked for me. Very strange of Chrome indeed
D
Dave Thompson

There is no way to do this in Chrome as yet (Chrome 58)

I have found the best solution is to open the url in an Incognito window, which will force you to re-enter the basic authentication credentials.

When you want to change the credentials, close the Incognito window and launch another Incognito window.


A
Alex

Just do

https://newUsername:newPassword@example.com

...to override your old credentials.


This doesn't work, at least as of as of Chrome 81. Just logs you right back in even if you deliberately enter the wrong username/pw.
I just tried with Opera which is Chrome-based and it just worked... Are you using HTTPS? Transferring credentials over HTTP might be disabled by browser vendors meanwhile.
G
Ganesh2

May be old thread but thought of adding answer to help others.

I had the same issue with Advanced ReST Client App, I'm not able to clear basic authentication from Chrome neither from app. It simply stopped asking for credentials!

However, I managed to make it work by relaunching Chrome using About Google Chrome -> Relaunch.

Once Chrome is relaunched, when I accessed ReST service, it will ask for user name and password using basic authentication popup.

Hope this helps!


I do not see a “Relaunch” button or link on the “About Google Chrome” view. (Mac OS 10.10, Chrome 40)
you can use chrome://restart
Thanks for chrome://restart !!! works for me. Ubuntu 18.10 Chrome Versión 71.0.3578.98 (Build oficial) (64 bits)
R
Rito

I am using Chrome Version 83 and this is how I did it. Before following the steps make sure the tab of the site, whose Auth Details you want to delete is closed.

First, go to Settings >> Privacy and security.

https://i.stack.imgur.com/RlZ1A.png

https://i.stack.imgur.com/FHXsC.png

https://i.stack.imgur.com/iqSZb.png

https://i.stack.imgur.com/wPNnr.png

https://i.stack.imgur.com/I953y.png



Now restart your browser and you will be asked for a fresh login. For restarting you can type chrome://restart in the address bar.


This works perfectly Even without restart removing sites
This one is the only one of al answers here that worked for me (Chrome 95). It was not necessary to restart.
L
Libin Varghese

As mentioned by @SalCelli, chrome://restart works. However, this relaunches all the tabs.

Another method is to launch in incognito mode as suggested by CEGRD

However, if you could not like to restart & use incognito, on Chrome 86 (Mac), I found that the answer provided by @opsb & Mike only works with the below additional steps.

Enter the wrong username in the url without the resources eg: if the url is http://mywebsite.com/resources/, it will not work if I enter http://wrong@mywebsite.com/resources/, but will work if I enter only http://wrong@mywebsite.com/ it clears the Basic Auth credentials prompt for the credentials again However, entering the valid credentials will not work, as in the background, chrome still send the wrong user as part of the url, even though the url appears right in the address bar When prompted for credentials you would need to Cancel, and click the address bar and reload the page from pressing enter. Now enter the correct password


chrome:restart not only relaunches all tabs, but it closes all identities and makes you choose one to start with (if you have more than one). But it does work!
B
Binh Ho

This is a quick trick. For example you already input basic auth to url https://example.com by user1:password1. To clear it just open new tab then:

Goto: https://any:any@example.com then your password will be removed.

any:any is any string.


a
ajaysinghdav10d

Press the key combination Ctrl+Shift+Delete You will see popup in chrome Check the above options and click clear data and you are done.


This will clear all the histories, caches and all. Not recommended. It will be good if we can delete site specific content.
This does not clear history if you do not select to do so, as it is mentioned in screenshot.
R
Richard Hunter

I'm using Chrome 75. What I've found is that restarting Chrome doesn't work. But restarting Chrome AND opening the developer tools does work. I don't have any explanation why this should be.


p
promaty

I was using LastPass password manager, deleting credentials in LastPass solved the issue.


n
neves

A lot of great suggestions here, I'll give the one that I found the most efficient:

Just change your password in the site. The old authentication will became outdated and Chrome will request it again.

Since I had a terminal open, I did a simple script to change the password and in two keypresses it were incremented.


I'm testing locally, so simply changing my password worked especially well for me.
T
TerryV

In Chrome, on the right-hand side of the URL bar when you are at a password protected URL, you should see a small key symbol. Click the symbol and it will take you directly to the Password Management area where you can remove the entry. That will ensure you receive future prompts or have an opportunity to enter a new password and save it.

If you do not see the key symbol, that same Password Management area can be accessed by going to Chrome -> Settings -> Passwords and forms -> Manage Passwords. Or more simply, this URL – chrome://settings/passwords.


There is no symbol on the right of the URL on Auth pages. You are talking about "password" pages, not Auth pages. See stackoverflow.com/questions/5957822/…
B
Bjornicus

For Chrome 66 I found the relevant option under:

Top right ... menu -> More Tools -> Clear Browsing Data Click the "Advanced" tab Check the "Passwords" box (and uncheck others you don't want cleared) Click "Clear Data"

Using a new Incognito window is probably easier, but for those times you forget and want to clear the saved password, this does the trick without having to restart Chrome (which also works)


S
Shiva Naru

For Windows 10: What worked for me was clearing the credentials in the Windows Credentials in the Credential Manager.


J
Julien B.

Weirdest thing, but in my case, I was trying to access a page with basic auth and Chrome was sending invalid credentials without even prompting for it. After I logged out from my LastPass plugin, everything was back to normal. So I think LastPass is starting to support Basic Auth but it's not giving the option of what password to use, it looks like it's just sending a random password for a domain that matches (which is very problematic in my case).

Thought it might help someone.


M
Michael Bolli

In my case (Win Chrome v100) it worked when using https://@domain.com to delete the credentials. Verify in the dev tools and querying document.URL.


M
Montet

Chrome uses the same Internet Options as IE.

Try opening your Internet Options and removing the URL from "Trusted Sites." This should regenerate a 401 call for credentials when you restart the browser and visit the URL again.

You may need to remove it from "Intranet Sites" as well.


J
John

Things changed a lot since the answer was posted. Now you will see a small key symbol on the right hand side of the URL bar. Click the symbol and it will take you directly to the saved password dialog where you can remove the password.

Successfully tested in Chrome 49


This is completely untrue. Chrome 53
Tested on two independend computers, chrome 54 now. It is true and works perfectly.
This only works if the url that you are using your password for and the site you eventually land on/auth through are the same. Say i start at a.com get redirected to b.com and end at a.com i may have a username/password entry on a.com but if the data is forwarded to b.com and that is where i die on authentication this method is useless
c
cincodenada

You can also do it via the settings page, chrome://chrome/settings

Under The Hood

Advanced Settings

Passwords and Forms

Then click the link Manage saved passwords.


This works for normal logins and password saving but BASIC authentication details are not saved in these settings.
Maybe in 2012 they didn't show the BASIC authentication details here, but in 2015 they do. This, to me, is the most sensible place to look for these details.
Wrong then and wrong now. As of Chrome 53, the 'manage passwords' page does not list cached basic auth credentials.
Worked for me. Mac OS Sierra 10.12.1, Chrome 55.0.2883.95 (64-bit)
B
Boris Smus

You should be able to clear your credentials from your browser via "Clear Browsing Data..." in chrome://settings/advanced


Unless I'm mistaken ( I hope so :) ) this doesn't allow you to clear credentials for a single site. You have to clear all of your saved passwords. I want to be able to switch between users on the site that I'm testing so I really need a method that will allow me to clear just one site.
This would be great if it actually worked as Chrome suggests it should. :( obsp's answer worked correctly.