jsxc / jsxc.roundcube

JavaScript XMPP Client for roundcube
http://www.jsxc.org
MIT License
9 stars 6 forks source link

Plugin loading on login page #9

Open aacunha opened 6 years ago

aacunha commented 6 years ago

Dmitry,

I have tried to make an adjustment in the plugin for my reality, but I did not succeed. I use 2 authentication plugins, rcguard (https://plugins.roundcube.net/packages/dsoares/rcguard) and twofactor auth (https://plugins.roundcube.net/packages/alexandregz/twofactor_gauthenticator).

What I would like is that the plugin only start after opening the webmail ("mail" page). I explain why:

Captcha: If the user misses the password a few times the captcha is displayed. After this if it hits the password and does not validate the captcha the jsxc is loaded.

image

Two Factor: After the user authenticates, if the browser does not have the option to save active, the two factor field (login page) will be displayed, and jsxc will start.

image 1

I tried not to load jsxc through the jsxc.php file:

         case 'login':
             // $ this-> load_jsxc ();
             break;

But this way jsxc does not authenticate. I know it's not a malfunction of the plugin, but I believe it to be an improvement for the same.

Another case which happens exporadically, on the first login (no another connection on webmail or xmpp server), the jsxc loads on login page without connection: captura de tela de 2017-12-13 09 51 49

Regards, André

sualko commented 6 years ago

cc @dteleguin , ref #8

aacunha commented 6 years ago

Dears,

one situation is occurring even without active third-party authentication plugins. If the user closes the browser with roundcube open (authenticated jsxc plugin). After that, even after a few minutes, when opening the browser and accessing the roundcube, already on the home page of the roundcube (login form), the jsxc restores its previous session, even before it was authenticated in the roundcube. How to avoid this situation?

I tested on chrome and in firefox. captura de tela de 2018-03-12 16 19 29

sualko commented 6 years ago

You could use the displayRosterMinimized option to hide the roster, like this is done in Nextcloud. See, https://github.com/nextcloud/jsxc.nextcloud/blob/d373e0befe376286719e901bdd65f9d4bebda999/js/ojsxc.js#L370-L372

aacunha commented 6 years ago

@sualko , i see on jsxc.js and jsxc.min.js already has occurrences of displayRosterMinimized. I tried to use the function without success. Where can i add the function?

sualko commented 6 years ago

I think you can add it at https://github.com/jsxc/jsxc.roundcube/blob/master/jsxc.php#L60

mckaygerhard commented 2 years ago

this is solved?