Hi there,
we are using chrriis.dj.nativeswing.swtimpl.components.JWebBrowser component for user authentication over Azure Cloud SSO. And what interesting... it works fine when we are not using "EDGE runtime". However, when we use "EDGE runtime", Azure Cloud SSO fails. And the cause of the error is "Device ID" is missing on the authentication.
Any ideas what should be changed here to make SSO authentication successfully with "EDGE runtime" option?
Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have seen mentions of the environment variable "WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS" which could be set to "--enable-features=msSingleSignOnOSForPrimaryAccountIsShared", but it is unclear whether it works. Also, I think I read somewhere that the WebView2 component is shared by every application that is using it, so such parameter needs to be set before the first instance is created and it will apply to all instances.
If you do find a solution, please post what you found!
Hope this helps,
-Christopher
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I thank you for this browser, but I have a problem, it only loads Internet Explorer 11, it is very old, I have seen comments from Criss that you updated to Edge, I have not been able to with the .jar, could you help me please, so I can run it on another more updated browser, thank you very much.
Please next time create a new post for your question.
As for your question, on Windows, the default web browser engine is Internet Explorer which is now deprecated. If you use a recent version of the SWT library and if you use the latest preview of DJ Native Swing, you can force the use of the Edge runtime either by passing "JWebBrowser.useEdgeRuntime()" to the JWebBrowser constructor or using the system property "nativeswing.webbrowser.runtime=edge".
On some systems, you need to explicitly install the WebView2 component: https://developer.microsoft.com/en-us/microsoft-edge/webview2
That being said, the Edge runtime does not allow all the API of the JWebBrowser but it works well to view websites.
Hope this helps,
-Christopher
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there,
we are using chrriis.dj.nativeswing.swtimpl.components.JWebBrowser component for user authentication over Azure Cloud SSO. And what interesting... it works fine when we are not using "EDGE runtime". However, when we use "EDGE runtime", Azure Cloud SSO fails. And the cause of the error is "Device ID" is missing on the authentication.
Any ideas what should be changed here to make SSO authentication successfully with "EDGE runtime" option?
Thanks!
Hi Andrey,
DJ Native Swing uses the SWT library internally. SWT Edge implementation is based on the WebView2 component:
https://www.eclipse.org/swt/faq.php#howuseedge
You would need to find a way to solve the SSO issue with the WebView2. Here is a hint:
https://github.com/MicrosoftEdge/WebView2Feedback/issues/550
I have seen mentions of the environment variable "WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS" which could be set to "--enable-features=msSingleSignOnOSForPrimaryAccountIsShared", but it is unclear whether it works. Also, I think I read somewhere that the WebView2 component is shared by every application that is using it, so such parameter needs to be set before the first instance is created and it will apply to all instances.
If you do find a solution, please post what you found!
Hope this helps,
-Christopher
I thank you for this browser, but I have a problem, it only loads Internet Explorer 11, it is very old, I have seen comments from Criss that you updated to Edge, I have not been able to with the .jar, could you help me please, so I can run it on another more updated browser, thank you very much.
Hi Carlos,
Please next time create a new post for your question.
As for your question, on Windows, the default web browser engine is Internet Explorer which is now deprecated. If you use a recent version of the SWT library and if you use the latest preview of DJ Native Swing, you can force the use of the Edge runtime either by passing "JWebBrowser.useEdgeRuntime()" to the JWebBrowser constructor or using the system property "nativeswing.webbrowser.runtime=edge".
On some systems, you need to explicitly install the WebView2 component: https://developer.microsoft.com/en-us/microsoft-edge/webview2
That being said, the Edge runtime does not allow all the API of the JWebBrowser but it works well to view websites.
Hope this helps,
-Christopher
Hi Chris,
thank you very much for your advise. Proposed solution (WebVew2 + env variable) works well on our environment.
Thanks a lot!