[Chrome 59] login:password@host basic authentication handle больше не поддерживается

Хром обновился до 59 версии и все тесты в нерабочем состоянии. Авторизация через URL больше не поддерживается. Какое-то время можно жить на 58 версии, но не бесконечно. Посоветуйте другой способ авторизации.

[Deprecation] Subresource requests whose URLs contain embedded credentials (e.g. https://user:pass@host/) are blocked. See Chrome Platform Status for more details.

Drop support for embedded credentials in subresource requests.
We should block requests for subresources that contain embedded credentials (e.g. “http://ima_user:hunter2@example.com/yay.tiff”). Such resources would be handled as network errors.

Спасибо, тоже о таком варианте подумал, только c# адаптированный browsermob-proxy, к сожалению, умеет значительно меньше чем оригинальный джава. Или я просто пока не нашел как его заставить работать идентичным описанному в мануале образом.

Спасибо за новость. Неудобно конечно, но эта штука использовалась только в фишинге судя по обсужению фичи в хром треккере. Погуглил немного как бы обойти это, вариантов не очень много.

  1. флаг на старте хрома --disable-blink-features=BlockCredentialedSubresources (731618 - chromium - An open-source project to help move the web forward. - Monorail)

  2. Redirecting to Google Groups - тут люди еще предлагают использовать куки.

Кидайте ваши варианты

Для C# есть такой вариант (UPD который не работает):

WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromMilliseconds(5000));
IAlert alert = wait.Until(ExpectedConditions.AlertIsPresent());
alert.SetAuthenticationCredentials(userName, userPassword);

Но мне он не подошел, потому-что попапа с полями для ввода логина и пароля, после запуска страницы, я не вижу - у меня на проекте WindowsAuthentication и оно просто подтягивает имя актуального аккаунта, под которым система работает - то есть мой личный, а мне нужно чтобы тянул какой-то конкретный из набора тестовых аккаунтов. Ищу дальше.

Еще интересный вариант, в IE Internet Options (афектит прочие браузеры) можно выбрать либо автоматическую авторизацию с заданными креденшлами либо всегда требовать креденшлы, если вам нужно каждый раз другой аккаунт использовать. Я еще не тестил, но выглядит полезно:

Ох как нехорошо

Все! Теперь всему прийдет звезда =)

1 лайк

Есть еще вариант с самописным расширением для хрома, которое помогло в моем случае. Но оно явно хуже варианта 1 из первого ответа (–disable-blink-features=BlockCredentialedSubresources).

1 лайк

С 61 версии данная пролема при работе с Хромом отсутствует.

1 лайк

Хром 62, драйвер 2.33. Сейчас оно не работает для хедлесс режима, может кто-то сталкивался с этим?