<table><tr><td style="">enriquem added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18394">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D18394#444795" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D18394#444795</a>, <a href="https://phabricator.kde.org/p/jgrulich/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@jgrulich</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><ol class="remarkup-list">
<li class="remarkup-list-item">I'm not sure if the UI for openconnect tokens is correct, I think the QLineEdit for token secret should be on the same line, and you should probably use PasswordField instead? It can be our PasswordField widget from libs/editor/widgets/. Or it's not secret in the same sense as other secrets and it will not need to be saved by secret agent, like rest of passwords? I would also follow nm-connection-editor and make tokens options visible in the main UI, not under specific button.</li>
</ol></div>
</blockquote>

<p>a) I don't see any need for the QComboBox and theQLineEdit to be in the same line, but that's a matter of taste, not functionality.  Both fields are sort of independent: same key works with different OTP options. <br />
b) I agree on the PasswordField, although this being an OTP it really does not matter if anyone sees it.<br />
c) No need to save it. It is used and discarded<br />
d) I tried putting all optins in the main UI. This made the window too tall for the allocated space, so that resizing was necessary or the main window initial size ought be changed. It looked ugly to me. That's why I opted for a separate dialog. I can change it if you think it is important, but, again, it looks ugly to me.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ol class="remarkup-list" start="2">
<li class="remarkup-list-item">Your code is full of trailing spaces</li>
</ol></blockquote>

<p>Ah, well, what a curse! I'll get rid of them</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><ol class="remarkup-list" start="3">
<li class="remarkup-list-item">How can I try this? Is there any public Openconnect server which I can use to test this?</li>
</ol></blockquote>

<p>I set up a server in my own Fedora box with ocserv. With some tweaking of the pam modules along the lines of <a href="http://ocserv.gitlab.io/www/recipes-ocserv-2fa.html" class="remarkup-link" target="_blank" rel="noreferrer">http://ocserv.gitlab.io/www/recipes-ocserv-2fa.html</a>, <a href="https://www.nongnu.org/oath-toolkit/pam_oath.html" class="remarkup-link" target="_blank" rel="noreferrer">https://www.nongnu.org/oath-toolkit/pam_oath.html</a> and  <a href="http://www.infradead.org/openconnect/token.html" class="remarkup-link" target="_blank" rel="noreferrer">http://www.infradead.org/openconnect/token.html</a> I was able to test HOTP and TOTP (that is, I pick a random key and use oathtool or FreeOTP). Yubikeys were triky, since I couldn't validate the OTP. But I modified ocserv to show that the connection scripts were actually providing the correct OTP key. As for RSA, I have no clue as to how to test them, and keys are too expensive for me.</p></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18394">https://phabricator.kde.org/D18394</a></div></div><br /><div><strong>To: </strong>enriquem, jgrulich<br /><strong>Cc: </strong>pino, plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>