Menu

Azure SSO Authentication

Help
Andrey
2025-02-26
2025-03-12
  • Andrey

    Andrey - 2025-02-26

    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!

     
  • Christopher Deckers

    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

     
  • carlos andres buitrago cardenas

    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.

     
    • Christopher Deckers

      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

       
  • Andrey

    Andrey - 2025-03-12

    Hi Chris,
    thank you very much for your advise. Proposed solution (WebVew2 + env variable) works well on our environment.
    Thanks a lot!

     

Log in to post a comment.

MongoDB Logo MongoDB