浏览代码

fix token refresh

Gildas 3 年之前
父节点
当前提交
32dbf1ebd3
共有 1 个文件被更改,包括 10 次插入0 次删除
  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) {