<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>448153</bug_id>
          
          <creation_ts>2022-01-09 07:47:30 +0000</creation_ts>
          <short_desc>Unable to access the VPN network in double authentication mode (anyConnect SAML/SSO)</short_desc>
          <delta_ts>2025-10-22 16:40:06 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Plasma</classification>
          <product>plasmashell</product>
          <component>Networks widget</component>
          <version>master</version>
          <rep_platform>Debian unstable</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.0</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="antonio">antdev66</reporter>
          <assigned_to name="Jan Grulich">jgrulich</assigned_to>
          <cc>akiskost97</cc>
    
    <cc>dwmw2</cc>
    
    <cc>ehren.bendler</cc>
    
    <cc>ephemient</cc>
    
    <cc>joel</cc>
    
    <cc>karli</cc>
    
    <cc>mekius</cc>
    
    <cc>nate</cc>
    
    <cc>nicolas.fella</cc>
    
    <cc>physkets</cc>
    
    <cc>sergeychepurko</cc>
    
    <cc>sokann</cc>
    
    <cc>strijbol.niko</cc>
    
    <cc>strm.50</cc>
    
    <cc>yhetti</cc>
          
          <cf_commitlink>https://invent.kde.org/plasma/plasma-nm/-/commit/6ef64be8645ac32fc0b42df2cee5d9ff3b57e485</cf_commitlink>
          <cf_versionfixedin>6.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2091269</commentid>
    <comment_count>0</comment_count>
    <who name="antonio">antdev66</who>
    <bug_when>2022-01-09 07:47:30 +0000</bug_when>
    <thetext>SUMMARY
The applet does not show the browser window to insert the access credentials to the VPN network in double authentication.

STEPS TO REPRODUCE
- Create a new Cisco Anyconnect VPN network (OpenConnect)
- Insert the gateway
- Save the configuration

OBSERVED RESULT
- Try access to the VPN network (NetworkManager widget: click on &quot;Connect&quot;)
- The log show: &quot;No SSO Handler&quot;

EXPECTED RESULT
- that appears the browser window to enter the access credentials

ADDITIONAL INFORMATION
	POST https://xxxxxxx/
	Attempting to connect to server xxx.xxx.xxx.xxx:443
	Connected to xxx.xxx.xxx.xxx:443
	SSL negotiation with xxxxxxx
	Connected to HTTPS on xxxxxxx with ciphersuite (TLS1.2)-(ECDHE-SECP256R1)-(RSA-SHA512)-(AES-256-GCM)
	Got HTTP response: HTTP/1.1 200 OK
	Content-Type: text/xml; charset=utf-8
	Transfer-Encoding: chunked
	Cache-Control: no-store
	Pragma: no-cache
	Connection: Keep-Alive
	Date: Sun, 09 Jan 2022 07:34:44 GMT
	X-Frame-Options: SAMEORIGIN
	Strict-Transport-Security: max-age=31536000; includeSubDomains
	X-Content-Type-Options: nosniff
	X-XSS-Protection: 1
	Content-Security-Policy: default-src &apos;self&apos; &apos;unsafe-inline&apos; &apos;unsafe-eval&apos; data: blob:; frame-ancestors &apos;self&apos;
	X-Aggregate-Auth: 1
	HTTP body chunked (-2)
	POST XML abilitato
	No SSO handler

From GNOME interface, instead, everything works fine.

Thank you,
Antonio

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2132181</commentid>
    <comment_count>1</comment_count>
    <who name="Ehren Bendler">ehren.bendler</who>
    <bug_when>2022-06-17 11:37:01 +0000</bug_when>
    <thetext>For what its worth, I took a crack at implementing support for this using QtWebEngineView (loosely based on the nm-openconnect code for the same) and was not able to get it working.  

I won&apos;t pretend to be a Qt expert, but I was able to get plasma-nm to pop the window at an appropriate time but got stuck at a repeated SIGTRAP in the underlying Chromium code in Qt 5.15. 

The latest OpenConnect API has support for launching a desktop browser, but I did not try using that yet. That might be a better solution going forward, so that the authentication support is not tied to whatever version of Chromium Qt picked for a given release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2132190</commentid>
    <comment_count>2</comment_count>
    <who name="Ehren Bendler">ehren.bendler</who>
    <bug_when>2022-06-17 12:23:06 +0000</bug_when>
    <thetext>That said, external browser use is a tough edge case.

One has to have:
1) The latest OpenConnect, built against a recent version of OpenSSL/GnuTLS
2) A recent version of the AnyConnect server
3) The *server* has to be setup to allow/force external browsers
4) The applet has to be built with the callback added

I can&apos;t work on that since my company does not have #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2139741</commentid>
    <comment_count>3</comment_count>
    <who name="mixo">mixosaurus+bugskde</who>
    <bug_when>2022-07-17 19:41:06 +0000</bug_when>
    <thetext>*** This bug has been confirmed by popular vote. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143481</commentid>
    <comment_count>4</comment_count>
    <who name="">mekius</who>
    <bug_when>2022-08-04 16:56:57 +0000</bug_when>
    <thetext>(In reply to Ehren Bendler from comment #2)
&gt; That said, external browser use is a tough edge case.
&gt; 
&gt; One has to have:
&gt; 1) The latest OpenConnect, built against a recent version of OpenSSL/GnuTLS
&gt; 2) A recent version of the AnyConnect server
&gt; 3) The *server* has to be setup to allow/force external browsers
&gt; 4) The applet has to be built with the callback added
&gt; 
&gt; I can&apos;t work on that since my company does not have #3.

I happen to have a company with one of these VPNs so I may take a stab at learning some new things.  Do you still have this experimental code around for me to look at and possibly use as a starting point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2168560</commentid>
    <comment_count>5</comment_count>
    <who name="Joel Holdsworth">joel</who>
    <bug_when>2022-11-03 22:11:27 +0000</bug_when>
    <thetext>I also work at a company with forced SSO. I can test any experimental code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199887</commentid>
    <comment_count>6</comment_count>
    <who name="Nicolas Fella">nicolas.fella</who>
    <bug_when>2023-01-20 00:24:08 +0000</bug_when>
    <thetext>https://invent.kde.org/plasma/plasma-nm/-/merge_requests/208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2200882</commentid>
    <comment_count>7</comment_count>
    <who name="Joel Holdsworth">joel</who>
    <bug_when>2023-01-23 14:11:12 +0000</bug_when>
    <thetext>I backported Rahul&apos;s patches the following patches to v5.26.5 on my system, and I can confirm that this fixes the issue:

* 408cca64: Add support for openconnect_set_external_browser_callback introduced in openconnect v9.0 (libopenconnect 5.8) using QDesktopServices
* 4654501e: Remove UB parameter passing to va_list argument in OpenconnectAuthWorkerThread::openUri
* f7bb3a1f: Add support for SAML based authentication when using OpenConnect VPN
* 7e7690db: Clean up braceless single line conditionals in openconnectauthworkerthread.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2200885</commentid>
    <comment_count>8</comment_count>
    <who name="Joel Holdsworth">joel</who>
    <bug_when>2023-01-23 14:13:05 +0000</bug_when>
    <thetext>Note that the Rahul&apos;s other patch to OpenConnect is also required to successfully connect to the VPN.

* 0e82c937: Do not add &apos;single-sign-on&apos; to the capabilities list for AnyConnect auth requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2201964</commentid>
    <comment_count>9</comment_count>
    <who name="Nate Graham">nate</who>
    <bug_when>2023-01-25 21:35:56 +0000</bug_when>
    <thetext>Fixed in Plasma 6 by Rahul Rameshbabu with https://invent.kde.org/plasma/plasma-nm/-/commit/6ef64be8645ac32fc0b42df2cee5d9ff3b57e485!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2300137</commentid>
    <comment_count>10</comment_count>
    <who name="Karli Sjöberg">karli</who>
    <bug_when>2024-03-13 15:00:18 +0000</bug_when>
    <thetext>What chance does this have of making it back to stable 5? Currently only GNOME´s applet works with AnyConnect MFA and seeing as more and more companies and organizations are moving towards a stricter security policy a large number of people are going to affected by this sooner than Plasma 6 hits any mainline distros (at least I am ;))

SOFTWARE/OS VERSIONS
OS: openSUSE Leap 15.5
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2300153</commentid>
    <comment_count>11</comment_count>
    <who name="Ehren Bendler">ehren.bendler</who>
    <bug_when>2024-03-13 15:17:54 +0000</bug_when>
    <thetext>(In reply to Karli Sjöberg from comment #10)
&gt; What chance does this have of making it back to stable 5? Currently only
&gt; GNOME´s applet works with AnyConnect MFA and seeing as more and more
&gt; companies and organizations are moving towards a stricter security policy a
&gt; large number of people are going to affected by this sooner than Plasma 6
&gt; hits any mainline distros (at least I am ;))

I believe that the Qt 5.15 WebEngine is the problem for advanced auth, so very low. You should engage your IT to enable &quot;ext-browser&quot; on the server side, which does work in Plasma 5.27 after you update openconnect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2384623</commentid>
    <comment_count>12</comment_count>
    <who name="Ben Cooksley">bcooksley</who>
    <bug_when>2024-12-23 18:26:06 +0000</bug_when>
    <thetext>Bulk transfer as requested in T17796</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2463862</commentid>
    <comment_count>13</comment_count>
    <who name="">akiskost97</who>
    <bug_when>2025-10-22 16:40:06 +0000</bug_when>
    <thetext>I am using 
KDE plasma version: 5.27.5
KDE frameowrk version: 5.103.0

The company VPN requires SSO and it still get the message No SSO handler found. Also the native Cisco client app crashes when trying to loging to VPN. On gnome works fine.
It is sad that we can not use KDE. Are there any specific instructions that we could try to backport the fix ? 

The VPN works fine on gnome and the browser window to log in works from both cisco or the system UI.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>