Как очистить основные данные аутентификации в Chrome
Я работаю на сайте, который использует базовую аутентификацию. Использование Chrome Я вошел в систему с помощью базовой аутентификации. Теперь я хочу удалить основные данные аутентификации из браузера и попробовать другой логин.
Как очистить текущие данные базовой аутентификации при использовании Chrome?
31 ответ
Похоже, что Chrome всегда будет отображать запрос на вход в систему, если вы включите имя пользователя в URL, например,
Это не совсем полное решение, см . Комментарий Майка ниже.
Вы можете открыть окно инкогнито Ctrl+Shift+n каждый раз, когда вы делаете тест. Окно инкогнито не запомнит имя пользователя и пароль при последнем вводе.
Чтобы использовать этот трюк, обязательно закройте все окна инкогнито. Все окна инкогнито имеют общий кеш. Другими словами, вы не можете открыть несколько независимых окон инкогнито. Если вы войдете в один из них и откроете другой, эти два связаны, и вы увидите, что новое окно запоминает информацию об аутентификации из первого окна.
Все, что вам нужно сделать, это набрать chrome://restart в адресной строке, и chrome со всеми его приложениями, работающими в фоновом режиме, перезапустится и очистит кэш пароля Auth.
Аутентификация очищается при выходе из Chrome.
Обратите внимание, что по умолчанию Chrome запускает приложения в фоновом режиме, поэтому он может не завершиться, даже если вы закроете все окна Chrome. Вы можете изменить это поведение в дополнительных настройках или, например, в Windows, вы можете полностью выйти из Chrome, используя значок Chrome в системном окне. Должен быть значок, если Chrome все еще работает, но, возможно, вы найдете его только во всплывающем окне со скрытыми значками. В контекстном меню значка Chrome есть пункт для полного выхода из Chrome, и вы также можете изменить настройки для запуска приложений в фоновом режиме, используя это меню.
- Откройте меню Chrome
- Выбрать
Settings
- Прокрутите вниз
- Нажмите
Show advanced settings...
- Прокрутите вниз
- Под
System
снимите флажок с надписью:Continue running background apps when Google Chrome is closed
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;
}
Это быстрый трюк. Например, вы уже ввели базовую аутентификацию в url-адрес.
https://example.com
по
user1:password1
. Чтобы очистить его, просто откройте новую вкладку, а затем:
Перейти к:
https://any:any@example.com
тогда ваш пароль будет удален.
any:any
любая строка.
- Щелкните правой кнопкой мыши на панели закладок -> Добавить страницу ...
- Установите имя как Logout Basic Auth
- Задайте URL как:
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;
})()
- На любой веб-странице, где вам нужно выйти из базовой аутентификации, щелкните закладку.
Я использую Chrome версии 83, и вот как я это сделал. Перед выполнением этих действий убедитесь, что вкладка сайта, данные аутентификации которого вы хотите удалить, закрыта.
Сначала перейдите кSettings
>> Privacy and security
.
Затем нажмите на Site settings
вариант
Затем нажмите на View permissions and data stored across sites
вариант
Найдите сайт, информацию об аутентификации которого вы хотите удалить. В этом примере я используюstackru
.
Теперь щелкните сайт, а затем щелкните значок Clear data
кнопка.
Теперь перезапустите браузер, и вам будет предложено ввести новый логин. Для перезапуска вы можете ввестиchrome://restart
в адресной строке.
Просто делать
https://newUsername:newPassword@example.com
... чтобы переопределить ваши старые учетные данные.
Это не совсем то, о чем спрашивает вопрос, но в случае, если вы случайно сохранили базовые учетные данные и хотите их очистить или обновить:
https://support.google.com/accounts/answer/6197437
- Откройте Chrome.
- В правом верхнем углу нажмите Дополнительно>, а затем Настройки.
- Внизу нажмите Дополнительно.
- В разделе "Пароли и формы" нажмите Управление паролями.
- В разделе "Сохраненные пароли" нажмите "Удалить" на сайте, для которого необходимо удалить сохраненные базовые учетные данные.
С шагами 1-4 можно быстро перейти по этой ссылке: chrome:// настройки / пароли
Это работало в Chrome версии 59.0.3071.115
Как упоминал @SalCelli,
chrome://restart
работает. Однако при этом перезапускаются все вкладки.
Другой способ - запустить в режиме инкогнито, как предлагает CEGRD.
Однако, если вам не хотелось перезапускать и использовать инкогнито в Chrome 86 (Mac), я обнаружил, что ответ, предоставленный @opsb & Mike, работает только с дополнительными шагами, приведенными ниже.
Введите неправильное имя пользователя в URL без ресурсов
например: если URL-адрес
http://mywebsite.com/resources/
, не получится, если я войдуhttp://wrong@mywebsite.com/resources/
, но будет работать, если я войду толькоhttp://wrong@mywebsite.com/
- он очищает учетные данные Basic Auth
- запросить учетные данные снова
Однако ввод действительных учетных данных не сработает, так как в фоновом режиме Chrome по-прежнему отправляет неправильного пользователя как часть URL-адреса, даже если URL-адрес отображается прямо в адресной строке. При запросе учетных данных вам необходимо
Cancel
, щелкните адресную строку и перезагрузите страницу, нажавenter
. Теперь введите правильный пароль
В Chrome пока нет возможности сделать это (Chrome 58)
Я обнаружил, что лучшее решение - открыть URL-адрес в окне Incognito, что заставит вас повторно ввести базовые учетные данные аутентификации.
Если вы хотите изменить учетные данные, закройте окно Incognito и запустите другое окно Incognito.
Может быть, старая тема, но думал добавить ответ, чтобы помочь другим.
У меня была такая же проблема с клиентским приложением Advanced ReST, я не могу удалить обычную аутентификацию из Chrome и из приложения. Он просто перестал запрашивать учетные данные!
Однако мне удалось заставить его работать, перезапустив Chrome, используя О Google Chrome -> Перезапустить.
Когда Chrome перезапускается, когда я обращаюсь к сервису ReST, он запрашивает имя пользователя и пароль, используя всплывающее окно базовой аутентификации.
Надеюсь это поможет!
Здесь много отличных предложений, я дам тот, который я нашел наиболее эффективным:
Просто измените свой пароль на сайте. Старая аутентификация устареет, и Chrome запросит ее снова.
Поскольку у меня был открыт терминал, я сделал простой скрипт для изменения пароля, и в двух нажатиях клавиш он был увеличен.
Я использовал диспетчер паролей LastPass, удаление учетных данных в LastPass решило проблему.
С тех пор, как был опубликован ответ, многое изменилось. Теперь вы увидите маленький символ ключа в правой части панели URL.
Нажмите на символ, и вы попадете прямо в диалоговое окно сохраненного пароля, где вы можете удалить пароль.
Успешно протестировано в Chrome 49
В Chrome, в правой части панели URL, когда вы находитесь на защищенном паролем URL, вы должны увидеть маленький символ ключа. Нажмите на символ, и вы попадете прямо в область управления паролями, где вы можете удалить запись. Это гарантирует, что вы будете получать приглашения в будущем или сможете ввести новый пароль и сохранить его.
Если вы не видите символ ключа, к этой же области управления паролями можно перейти, перейдя в Chrome -> Настройки -> Пароли и формы -> Управление паролями. Или, проще говоря, этот URL - chrome://settings/passwords.
В моем случае (Win Chrome v100) это сработало при использовании
https://@domain.com
чтобы удалить учетные данные. Проверка в инструментах разработки и запросах
document.URL
.
Я использую Chrome 75. Я обнаружил, что перезапуск Chrome не работает. Но перезапуск Chrome И открытие инструментов разработчика работает. У меня нет объяснений, почему это должно быть.
Единственное, что мне помогло, — это добавить в мое приложение маршрут, который выводит пользователя из системы и возвращает ошибку 401 Http.
В Laravel это выглядело так
Route::get('/clearbasic', function() {
auth()->logout();
abort(401);
});
Я могу загрузить этот маршрут, и при следующем доступе к обычным маршрутам будет предложено ввести основные учетные данные.
Нажмите " Настройки". " Поиск пароля". "Очистить данные просмотра". Установите флажок "Снять пароль" (не забудьте выбрать правильный вариант в " Уничтожить" следующие элементы)
Для Chrome 66 я нашел соответствующую опцию в разделе:
- Вверху справа... меню -> Дополнительные инструменты -> Очистить данные просмотра
- Нажмите вкладку "Дополнительно"
- Установите флажок "Пароли" (и снимите флажки с других, которые вы не хотите очищать)
- Нажмите "Очистить данные"
Использование нового окна Incognito, вероятно, проще, но для тех случаев, когда вы забыли и хотите очистить сохраненный пароль, это поможет, не перезапуская Chrome (что также работает)
Серверное решение
Если вы хотите предложить пользователю выйти из системы, вы можете просто отправить HTTP-заголовок с кодом состояния 401. Вот как вы можете это сделать:
WWW-Authenticate: Basic realm="401"
При желании вы можете включить метаобновление в тело ответа HTTP, чтобы перенаправлять пользователей обратно на главную страницу после выхода из системы:
Authentication required!<meta http-equiv="refresh" content="5; url=/">
(где / — ваша главная страница, а 5 — задержка в 5 секунд)
Клиентское решение
Чтобы очистить сохраненные учетные данные базовой аутентификации, вы можете отправить новый запрос AJAX на сервер, выполнив следующие действия:
- Настройте HTTP-заголовок для базовой аутентификации, например:
xmlHttpRequest.setRequestHeader("Authorization","Basic LTop")
Здесь «LTop» — это строка в кодировке Base64, которая может содержать недопустимые данные аутентификации.2. Подготовьте URL-адрес: возьмите полный URL-адрес, включая протокол, домен и путь, и вставьте новую часть аутентификации между протоколом и доменом. Например, если ваш доменhttps://yourdomain.com
, подготовленный URL будет иметь видhttps://-:)@yourdomain.com
.
После отправки этого запроса браузер должен забыть старые учетные данные, что позволит вам обновить страницу.
Альтернативное решение № 1
Альтернативный подход — закрыть все вкладки и окна браузера, а затем снова открыть браузер. Это должно снова вызвать запрос аутентификации.
Альтернативное решение № 2
Другой вариант — использовать окно инкогнито. Однако это не сработает, если вы уже вошли в систему через существующее окно инкогнито. В этом случае закройте все окна в режиме инкогнито, а затем откройте новое.
Для Windows 10: у меня сработало очистка учетных данных в учетных данных Windows в диспетчере учетных данных.
Самое странное, но в моем случае я пытался получить доступ к странице с базовой аутентификацией, а Chrome отправлял недействительные учетные данные, даже не запрашивая их. После того, как я вышел из своего плагина LastPass, все вернулось к норме. Поэтому я думаю, что LastPass начинает поддерживать базовую аутентификацию, но он не дает возможности выбрать, какой пароль использовать, похоже, он просто отправляет случайный пароль для домена, который соответствует (что очень проблематично в моем случае).
Думал, что это может кому-то помочь.
Кратчайший способ: щелкните значок замка в адресной строке. Затем нажмите Настройки сайта , затем нажмите Сбросить разрешения.
Из этого ответа я понял, что могу открыть Chrome Dev Tools (Ctrl+Shift+I) и вставить в консоль следующее:
{
const str = location.origin.replace("http://", "http://" + new Date().getTime() + "@");
let 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();
}
Страница обновится, а учетные данные будут удалены.
Chrome использует те же параметры Интернета, что и IE.
Попробуйте открыть Свойства обозревателя и удалить URL-адрес из "Надежных сайтов". Это должно восстановить вызов 401 для учетных данных при перезапуске браузера и повторном посещении URL.
Возможно, вам также придется удалить его с "Сайтов интрасети".
Вы также можете сделать это через страницу настроек, chrome://chrome/settings
- Под капотом
- Расширенные настройки
- Пароли и Формы
Затем нажмите на ссылку Manage saved passwords
,