Parcourir la source

fix token refresh

Gildas il y a 3 ans
Parent
commit
32dbf1ebd3
1 fichiers modifiés avec 10 ajouts et 0 suppressions
  1. 10 0
      src/lib/gdrive/gdrive.js

+ 10 - 0
src/lib/gdrive/gdrive.js

@@ -97,6 +97,16 @@ class GDrive {
 				this.expirationDate = Date.now() + (response.expires_in * 1000);
 			}
 			return { accessToken: this.accessToken, refreshToken: this.refreshToken, expirationDate: this.expirationDate };
+		} else {
+			try {
+				if (browser.identity && browser.identity.removeCachedAuthToken && this.accessToken) {
+					await browser.identity.removeCachedAuthToken({ token: this.accessToken });
+				}
+				this.accessToken = await browser.identity.getAuthToken({ interactive: false });
+				return { revokableAccessToken: this.accessToken };
+			} catch (error) {
+				// ignored
+			}
 		}
 	}
 	async revokeAuthToken(accessToken) {