Client: Autostart on the client breaks transparent OAuth's token refresh

Created on 14 May 2018  Â·  9Comments  Â·  Source: owncloud/client

Last Friday I was debugging an apparent OAuth2 issue with @Helios07 that turned out to be a problem with the auto-start feature of the client.

When auto-start is enabled, the client seems to be starting before the keychain/keyring service on the OS and therefore, without access to the stored refresh token. This causes the client to start the authorize workflow from scratch.

We detected this behavior on a couple of Linux distros (Ubuntu and Fedora) - but it might not limit to Linux only.

Actual behavior

Client pops up the "Authorize Desktop client..." browser window.

Expected behavior

Delay the client login up until the password-store service is (back) online. See also https://github.com/owncloud/client/issues/6440

Steps to reproduce

  1. Enable auto-start on the client
  2. Log-in via OAuth2 to an account
  3. Restart the OS
ReadyToTest blue-ticket bug

All 9 comments

I guess that's a duplicate of this one:
https://github.com/owncloud/client/issues/4274

Not much we can do about it.... maybe add some seconds of timer on first attempt and do another attempt...

(We have X-GNOME-Autostart-Delay=3 in the .desktop file but it's not supported everywhere. )

Plasma don't understand X-GNOME-Autostart-Delay, But maybe we could try to use X-KDE-autostart-phase=2 or X-KDE-autostart-after=????

Additionally yes. Viel hilft Viel ;-)

Not sure if this is the same issue or another one:
If I have no internet connection on my Mac and owncloud launches, everything is fine. But as soon as the internet comes back up, I have to reauthorize my OAuth2 accounts.
If I then quit the client and reopen it, it connects successfully again.

OS: macOS 10.13.5, Client: owncloud 2.4.1 (build 9367), Server: 10.0.8.5

@cleverer thanks for reporting! Yeah, it might be a different form of the same issue.

Just to be clear, you don't re-authorize the client in the browser right? Just reopening the client makes it work? That might point at https://github.com/owncloud/client/issues/6357 as real cause: the first unauthorized call races against the function that fetches the credentials from the keychain service.

@ogoffart might be worth taking a look at this. Will try to reproduce

@SamuAlfageme Yes, I'm just closing the browser windows. Of course sync also continues normally when re-authorizing.
Its especially annoying, if you have a corporate WiFi which only connects when you are logged in to your User account. Often owncloud is already started by the point the WiFi connects.

I'm happy to open a new issue or contribute in any way I can, but I'm a bit unfamiliar with ownclouds workflows…

@cleverer thanks for reporting.

Will be fixed with https://github.com/owncloud/client/pull/6583

If there are still issues with 2.4.2 coming out really soon nowâ„¢ please open a new issue here.

Was this page helpful?
0 / 5 - 0 ratings