Kerberos SSO Not working after Chrome Update - google-chrome

We use Kerberos SSO for our SAP Business Objects Application and after the last week's Chrome upgrade to version 101.0.4951.54, the SSO stopped working on chrome, but it still works fine in IE11. Has anyone else experienced and found solution?
P.S - I see another user posted the same question with different application but I couldn't ask the user if he/she found the solution becuase I am new to this forum and haven't earned privilege to comment on others questions.

Issue is resolved.
It is because of Security Policy parameter name change in new Chrome browser. https://support.google.com/chrome/a/answer/7679408#noNonIncl
Chrome version 101 has removed the policy name "AuthNegotiateDelegateWhitelist" and replaced with "AuthNegotiateDelegateAllowlist".
Fixed the issue by replacing "AuthNegotiateDelegateWhitelist" with "AuthNegotiateDelegateAllowlist" under registry Editor
Example: Key: \Software\Policies\Google\Chrome
Element Type: String (REG_SZ) Element Name: AuthNegotiateDelegateAllowlist Element Value: .mycompany.com,.trustedcompany.com

Related

User agent reduction origin trial is not working

The User-Agent Reduction origin trial is valid from Chrome version 95 to 101 according to the official documentation, but looking at the token acquisition screen, it seems to be valid up to version 111. I am currently on version 109. Is this one excluded?
https://developer.chrome.com/en/blog/user-agent-reduction-origin-trial/
https://developer.chrome.com/origintrials/#/view_trial/-7123568710593282047
Also, this one is intended to test in a situation where the user agent string and javascript api have been completely removed or changed. Is there another way to test before they are completely removed?
We would appreciate it if you could enlighten us.
I have added the necessary settings to the response headers, referring to the official documentation, but it does not work correctly.
https://developer.chrome.com/en/blog/user-agent-reduction-origin-trial/

Getting Serial port info on Chrome Web Serial API

I'm using the Chrome Web Serial API. So far it's working fine, but now and I'm trying to get the (already opened) port metadata (port name, device ID, etc.) and I'm a bit lost.
Here are the steps to follow:
https://wicg.github.io/serial/#getting-serial-port-metadata
but so far I cannot get the information.
If I try by navigating the port class, the DevTools console trows "ƒ () { [native code] }".
I cannot find a suitable example of how to implement this.
Does anyone have a hint?
Thanks in advance!!
Daniel.
It seems like it hasn't been implemented in Chromium yet. Keep in mind that the specs are sort of guides for vendors to follow when implementing a feature, but the actual shipped implementation can differ.
If you check the Web Serial API's code in the Chromium repo for Chrome 80 (current version at the time of writing) and 84.0.4112.1 you'll see that they only include the following methods:
open
readable
writable
getSignals
setSignals
close
You can read the latest comments on this API here: https://bugs.chromium.org/p/chromium/issues/detail?id=884928

Permission issue for appium chrome borwser

I am implementing an appium test on remote android driver, with chrome browser for loading urls.
Some of the Urls are pdfs, and chrome asks to store those files. and appears that chrome doesnt have access to filesystem to store those files, which results in a dialog like below.
Please help me pass that dialog without any manual inputs.
Upon clicking continue, it will load actual permissions dialog from Android.
Here is my code initialize appium capabilities
DesiredCapabilities caps = DesiredCapabilities.android();
caps.setCapability("appiumVersion", "1.9.1");
caps.setCapability("deviceName","Samsung Galaxy S9 Plus HD GoogleAPI Emulator");
caps.setCapability("deviceOrientation", "portrait");
caps.setCapability("browserName", "Chrome");
caps.setCapability("platformVersion", "8.1");
caps.setCapability("platformName","Android");
caps.setCapability("autoAcceptAlerts", true);
caps.setCapability("autoGrantPermissions", true);
caps.setCapability("chromedriverArgs", "--allow-file-access-from-files");
caps.setCapability("maxDuration", 10000);
and this is the snippet I use to load a Url
driver.navigate().to("http://kmmc.in/wp-content/uploads/2014/01/lesson2.pdf");
autoGrantPermission also doesnt work in this case because chrome is already installed. Appium team has already rejected this issue -
https://github.com/appium/appium/issues/10008
Please help!
Indeed I had very hard time finding out the solution, but eventually I found a workaround.
The best workaround would have been reinstalling the chrome package. I tried that, but I could not start chrome after reinstalling it, as I had no access to shell, and chromedriver complained. So I left that track.
I tried getting hold of adb command or mobile:changePermissions but for that you need to use server flag --relaxed-security while starting the server, and saucelabs doesnt provide any handy interface to start the server with this flag.
The last resort, I found a solution here - https://stackoverflow.com/a/51241899/4675277 . But just that was not sufficient, because it helped me fix chrome alert, but later on it popped up with another alert with allow and deny, for which another solution in the same question helped me. So this is the code I eventually used -
driver.navigate().to("http://kmmc.in/wp-content/uploads/2014/01/lesson2.pdf");
String webContext = ((AndroidDriver)driver).getContext();
Set<String> contexts = ((AndroidDriver)driver).getContextHandles();
for (String context: contexts){
if (context.contains("NATIVE_APP")){
((AndroidDriver)driver).context(context);
break;
}
}
driver.findElement(By.id("android:id/button1")).click();
contexts = ((AndroidDriver)driver).getContextHandles();
for (String context: contexts){
if (context.contains("NATIVE_APP")){
((AndroidDriver)driver).context(context);
break;
}
}
driver.findElement(By.id("com.android.packageinstaller:id/permission_allow_button")).click();
((AndroidDriver)driver).context(webContext);
This helps allow all permissions required.

Service Provider ForceAuthn does not work in Chrome (but in InternetExplorer and Edge)

When using ForceAuthn=true in AuthnRequest then the prompt for Re-Authentication (in my case client certificate via Smartcard) works as expected in Internet Explorer 11 and Edge but not in Chrome. Chrome just logs me in without any prompt.
I checked all possible settings in Chrome, I tried all that I found in the AuthnRequest (setting explicit AuthnContextClassRef and/or AuthnContextDeclRef) but I cannot get it working.
Has anyone any idea for me what to check/search for?
I even deleted the cookies in chrome after the first login, but still chrome logged me in just that at the second login
Sorry for replying so late.
One possible explanation would be if the IdP doesn't support the Authentication Context given in the AuthnContextClassRef, and the Service Provider is flawed and doesn't check the SAML Response StatusCode.
For example, if the IdP is not accepting password, and you send:
<samlp:RequestedAuthnContext Comparison="exact">
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
the IdP will respond:
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder">
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext" />
</samlp:StatusCode>
</samlp:Status>
and the SP must then reject.
Have you traced the SAML Request and Response with a SAML tracing plugin in Chrome? And checked that the Request is actually valid XML?

Resources not found by Microsoft Edge, why?

I am having a weird issue and I don't know how to fix it. I am calling this URL: http://rperez.local and for some reason some resources are not being found.
This problem is ONLY present in Microsoft Edge. I have test the same URL in Chrome, Firefox and even Internet Explorer 11 and it works as should be so I don't know where the problem is in this case.
Here is the error coming up in the browser console:
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - http://rperez.local/js/mmi_js/scripts.js?1491850831
dashboard (49,1)
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - http://rperez.local/images/icons/24x24/mail.png
dashboard (140,1)
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - http://rperez.local/images/icons/24x24/office-building.png
dashboard (106,1)
...
GET - http://rperez.local/images/icons/16x16/navigate_open.png
SCRIPT1014: Invalid character
jquery-1.12.4.min.js (4,16632)
The funny thing here is, if for example I call this URL: http://rperez.local/images/icons/16x16/navigate_open.png in a tab using Microsoft Edge, I did see the image, but from the page isn't working.
I am using Apache but there isn't any rule blocking this response, in fact if it's working in the rest of the browsers and I can access the image from outside the page something else is going on here.
Does any one run into the same issue? Any workaround?