I've been debugging the issue here, according to the steps (and the
logs) which Renato provided me with.

So, a problem arises if the access token has expires and the refresh
token (which can be used to request a new access token without UI
interactions) is still valid, but the client application has been
revoked access from https://myaccount.google.com/ (section "Connected
apps and services"). In that case, here's the logs:

Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: oauth2plugin.cpp 111 
OAuth2Plugin :
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: oauth2plugin.cpp 206 
respondWithStoredToken : Stored token is expired
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: oauth2plugin.cpp 586 
refreshOAuth2Token : "1/XXXX"
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: oauth2plugin.cpp 598 
sendOAuth2PostRequest :
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: oauth2plugin.cpp 623 
sendOAuth2PostRequest : Query string =   QUrl( 
"?grant_type=refresh_token&refresh_token=1/XXXX&client_id=759250720802-4sii0me9963n9fdqdmi7cepn6ub8luoh.apps.googleusercontent.com&client_secret=juFngKUcuhB7IRQqHtSLavqJ"
 ) 
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: base-plugin.cpp 112 
postRequest : Posting request:  QUrl( 
"https://accounts.google.com/o/oauth2/token"; ) 
Feb 13 15:02:15 ubuntu-phablet signonpluginprocess[13128]: 
../../../../src/remotepluginprocess/remotepluginprocess.cpp 496 startTask 
operation is completed
Feb 13 15:02:16 ubuntu-phablet signonpluginprocess[13128]: base-plugin.cpp 152 
handleNetworkError : error signal received: 302
Feb 13 15:02:16 ubuntu-phablet signonpluginprocess[13128]: base-plugin.cpp 167 
handleNetworkError : Contents: "{#012  "error" : "invalid_grant",#012  
"error_description" : "Token has been revoked."#012}"

So, this is a but in signon-plugin-oauth2, which should discard the
refresh token and try the authentication again if some error happens
while using the refresh token.

** Project changed: ubuntu-system-settings-online-accounts => signon-
plugin-oauth2 (Ubuntu)

** Changed in: signon-plugin-oauth2 (Ubuntu)
       Status: New => In Progress

** Changed in: signon-plugin-oauth2 (Ubuntu)
     Assignee: (unassigned) => Alberto Mardegan (mardy)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to signon-plugin-oauth2 in
Ubuntu.
https://bugs.launchpad.net/bugs/1420002

Title:
  Sync fails with no way to recover after token expires

Status in the base for Ubuntu mobile products:
  In Progress
Status in Sync monitor for Ubuntu Touch:
  In Progress
Status in signon-plugin-oauth2 package in Ubuntu:
  In Progress
Status in sync-monitor package in Ubuntu:
  New
Status in sync-monitor package in Ubuntu RTM:
  New

Bug description:
  I have two accounts on my krillin which I sync to google.
  Opened calendar and hit 'sync' button. Navigated around a bit in the app, it 
died (will file separate bug for that) and I restarted it. Tried syncing again. 
Got a sync fail popup.

  ubuntu-touch/ubuntu-rtm/14.09-proposed 231.

  ProblemType: Bug
  DistroRelease: Ubuntu RTM 14.09
  Package: sync-monitor 0.1+15.04.20150127~rtm-0ubuntu1
  Uname: Linux 3.4.67 armv7l
  ApportVersion: 2.14.7-0ubuntu8
  Architecture: armhf
  Date: Mon Feb  9 21:11:51 2015
  InstallationDate: Installed on 2015-02-09 (0 days ago)
  InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf 
(20150209-030204)
  SourcePackage: sync-monitor
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1420002/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to