From e8669f693c6adbb33f515d9a4ce9d1079756e2e8 Mon Sep 17 00:00:00 2001 From: Alexander Tkachev Date: Tue, 16 Jul 2019 14:09:38 +0700 Subject: CLOUD: Update BaseStorage to expect no refresh_token While refreshing access_token, some cloud providers also pass a new refresh_token. Google Drive does not, and accepts the same refresh_token next time. These changes allow this to happen. --- backends/cloud/googledrive/googledrivestorage.cpp | 2 ++ backends/cloud/googledrive/googledrivestorage.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'backends/cloud/googledrive') diff --git a/backends/cloud/googledrive/googledrivestorage.cpp b/backends/cloud/googledrive/googledrivestorage.cpp index be81629cef..67d157748a 100644 --- a/backends/cloud/googledrive/googledrivestorage.cpp +++ b/backends/cloud/googledrive/googledrivestorage.cpp @@ -58,6 +58,8 @@ uint32 GoogleDriveStorage::storageIndex() { return kStorageGoogleDriveId; } bool GoogleDriveStorage::needsRefreshToken() { return true; } +bool GoogleDriveStorage::canReuseRefreshToken() { return true; } + void GoogleDriveStorage::saveConfig(Common::String keyPrefix) { ConfMan.set(keyPrefix + "access_token", _token, ConfMan.kCloudDomain); ConfMan.set(keyPrefix + "refresh_token", _refreshToken, ConfMan.kCloudDomain); diff --git a/backends/cloud/googledrive/googledrivestorage.h b/backends/cloud/googledrive/googledrivestorage.h index 730e8e20c3..21e027c4a7 100644 --- a/backends/cloud/googledrive/googledrivestorage.h +++ b/backends/cloud/googledrive/googledrivestorage.h @@ -54,6 +54,8 @@ protected: virtual bool needsRefreshToken(); + virtual bool canReuseRefreshToken(); + public: /** This constructor uses OAuth code flow to get tokens. */ GoogleDriveStorage(Common::String code); -- cgit v1.2.3