pydio / cells-sync

Sync Client for Pydio Cells
https://pydio.com
GNU General Public License v3.0
35 stars 15 forks source link

Cells Synck stop to sync with error empty idToken #29

Closed romaduban closed 4 years ago

romaduban commented 4 years ago

I have Pydio Cells Home Edition 2.1.2 on Ubuntu server and using CellsSync-0.9.1

time to time It stops to sync with the message in the CellsSync task: Cannot Stat Root: empty idToken and I need to remove my account in CellsSync and add it again to have it working back.

I have checked the Pydio configuration file and it has not any parameter for set Token expiration time or something related to that.

cdujeu commented 4 years ago

Hello @romaduban

Thanks for posting. We may have identified an issue indeed, after we fully changed the authentication brick in the 2.1.X version of the server. We'll get back to you shortly.

Charles

romaduban commented 4 years ago

Thanks.

I also use cells-sdk on the server and I changed configuration property useTokenCache to false to have it workable after the update.

cdujeu commented 4 years ago

mm, i don't think it is linked. cells-sdk-go uses the credentials flow to login, not the token+refresh one are you up-to-date with cells-sdk-go ?

romaduban commented 4 years ago

the main issue with cells-sync.

just let you know that after update Cells on my server the custom application that based on cells-sdk-go also had the issue but I was able to resolve the issue with change the property. I am not sure is it related

cdujeu commented 4 years ago

Ok so it seems that the issue comes from the refresh token expiry time, that was drastically reduced to 1 hour .... So if you cells-sync is closed for more than one hour, you have to reconnect... 👎 For the moment, you can solve that with the following line in your server pydio.json (look for pydio.web.oauth part ) :

"services": {
    "pydio.web.oauth": {
        "refreshTokenLifespan": "60d",
        ...
    },
    ...
}

this should solve the issue

romaduban commented 4 years ago

@cdujeu , Thank you so much for your help. I really appreciate your quick response and willingness to help.

I have added the record "refreshTokenLifespan": "60d", to pydio.json on the server. I hope it will resolve the issue.

cdujeu commented 4 years ago

@romaduban My bad, "60d" notation is not supported in go, this will still not work. Set "1440h" instead for the parameter value, and restart ;-) -c

romaduban commented 4 years ago

@cdujeu , Thank you for the update. just noticed that previous value did not resolve the issue. I have updated it with "1440h" and look at how it will work