Google chrome chrome 59不支持在url中发送凭据
我有一个SSRS报表服务器的基本身份验证,以避免从web服务器访问SSRS报表服务器时出现登录弹出窗口。我正在url中发送凭据。它在google chrome 58上运行,但现在更新为chrome 59。现在我无法在浏览器url中发送凭据 示例<代码>https://gooduser:secretpassword@www.example.co 用户名:gooduser 密码:secredpasswordGoogle chrome chrome 59不支持在url中发送凭据,google-chrome,authentication,reporting-services,Google Chrome,Authentication,Reporting Services,我有一个SSRS报表服务器的基本身份验证,以避免从web服务器访问SSRS报表服务器时出现登录弹出窗口。我正在url中发送凭据。它在google chrome 58上运行,但现在更新为chrome 59。现在我无法在浏览器url中发送凭据 示例https://gooduser:secretpassword@www.example.co 用户名:gooduser 密码:secredpassword 请帮帮忙 我用chrome扩展解决了同样的问题 在extensionbackground.js中 c
请帮帮忙 我用chrome扩展解决了同样的问题 在extensionbackground.js中
chrome.extension.onMessage.addListener( function(request, sender, sendResponse){
chrome.webRequest.onAuthRequired.addListener(
function(details, callbackFn) {
console.log("onAuthRequired!", details, callbackFn);
callbackFn({
authCredentials: {username: request.username, password: request.password }
});
},
{urls: request.url + "/*"]},
['asyncBlocking']
);
});
在扩展contentscript.js中
window.addEventListener("message", function(event) {
if ( event.type == "BASIC_AUTH" ) {
chrome.runtime.sendMessage(
event.data,
event.data.sender,
function (response) {}
);
}
});
在HTML javascript中
window.postMessage({ type: "BASIC_AUTH", url:"www.mydomain.com", username:"myusername", password:"mypassword" }, "*");
如果您喜欢使用chromewebstore的扩展,比如:您可以使用“HTTP基本身份验证的多路径”Chrome扩展来处理这个问题
你可以通过GitHub来做
(或)
从Chrome网络商店下载扩展插件-
(或)
下载扩展名为crx。您可以从
一旦将扩展名下载为crx文件,将其配置到测试/源代码中就非常简单了
这一点可以使用
注意:这是从这个
希望这有帮助 不再支持Propable。简言之:谷歌破坏了它,似乎不想修复它。可能是以“提高安全性”之类的借口。有没有一个地方可以让人游说来消除这种疯狂?
public class ChromeAuthTest {
WebDriver driver;
public ChromeAuthTest() {
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
}
private void initDriver() {
ChromeOptions cOptions = new ChromeOptions();
cOptions.addExtensions(new File("MultiPass-for-HTTP-basic-authentication_v.crx"));
driver = new ChromeDriver(cOptions);
configureAuth(
"https://the-internet.herokuapp.com/basic_auth",
"admin",
"admin");
}
private void configureAuth(String url, String username, String password) {
driver.get("chrome-extension://enhldmjbphoeibbpdhmjkchohnidgnah/options.html");
driver.findElement(By.id("url")).sendKeys(url);
driver.findElement(By.id("username")).sendKeys(username);
driver.findElement(By.id("password")).sendKeys(password);
driver.findElement(By.className("credential-form-submit")).click();
}
public void doTest() {
initDriver();
driver.get("https://the-internet.herokuapp.com/basic_auth");
System.out.println(driver.getTitle());
driver.quit();
}
public static void main(String[] args) {
new ChromeAuthTest().doTest();
}
}