mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-23 07:59:10 +00:00
dont save login token Between Sessions
This commit is contained in:
@@ -22,7 +22,6 @@ class sheet {
|
|||||||
private readonly scope = 'https://www.googleapis.com/auth/spreadsheets';
|
private readonly scope = 'https://www.googleapis.com/auth/spreadsheets';
|
||||||
private readonly sheetsFolder = getAppDataPath() + '/sheets';
|
private readonly sheetsFolder = getAppDataPath() + '/sheets';
|
||||||
private readonly client_secret = this.sheetsFolder + '/client_secret.json';
|
private readonly client_secret = this.sheetsFolder + '/client_secret.json';
|
||||||
private readonly token = this.sheetsFolder + '/token.json';
|
|
||||||
private static authUrl: null | string = null;
|
private static authUrl: null | string = null;
|
||||||
private worksheetId: number = 0;
|
private worksheetId: number = 0;
|
||||||
private sheetId: string = '';
|
private sheetId: string = '';
|
||||||
@@ -39,7 +38,6 @@ class sheet {
|
|||||||
if (!sheet.client) {
|
if (!sheet.client) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
await this.loadToken();
|
|
||||||
ret.auth = await this.refreshToken();
|
ret.auth = await this.refreshToken();
|
||||||
if (ret.auth) {
|
if (ret.auth) {
|
||||||
const settings = DataProvider.getGoogleSheet();
|
const settings = DataProvider.getGoogleSheet();
|
||||||
@@ -222,35 +220,6 @@ class sheet {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description saves curent client appdata path as token.json
|
|
||||||
*/
|
|
||||||
private async saveToken() {
|
|
||||||
const payload = JSON.stringify({
|
|
||||||
type: 'authorized_user',
|
|
||||||
client_id: sheet.client._clientId,
|
|
||||||
client_secret: sheet.client._clientSecret,
|
|
||||||
refresh_token: sheet.client.credentials.refresh_token,
|
|
||||||
});
|
|
||||||
await writeFile(this.token, payload, 'utf-8');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* loads client from appdata path token.json
|
|
||||||
* @returns {Promise<boolean>}
|
|
||||||
*/
|
|
||||||
private async loadToken(): Promise<boolean> {
|
|
||||||
try {
|
|
||||||
const token = JSON.parse(await readFile(this.token, 'utf-8'));
|
|
||||||
sheet.client = new OAuth2Client({ clientId: token.client_id, clientSecret: token.client_secret });
|
|
||||||
sheet.client.credentials.refresh_token = token.refresh_token;
|
|
||||||
return true;
|
|
||||||
} catch (err) {
|
|
||||||
// logger.error(LogOrigin.Server, `Sheets: ${err}`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* refresh the client token
|
* refresh the client token
|
||||||
* @returns {Promise<boolean>}
|
* @returns {Promise<boolean>}
|
||||||
@@ -399,7 +368,6 @@ class sheet {
|
|||||||
});
|
});
|
||||||
client.credentials = tokens;
|
client.credentials = tokens;
|
||||||
sheet.client = client;
|
sheet.client = client;
|
||||||
this.saveToken();
|
|
||||||
res.end('Authentication successful! Please close this tab and return to OnTime.');
|
res.end('Authentication successful! Please close this tab and return to OnTime.');
|
||||||
logger.info(LogOrigin.Server, `Sheet: Authentication successful`);
|
logger.info(LogOrigin.Server, `Sheet: Authentication successful`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user