Browse Source

fix: load client id/secret from env vars

Gerald 4 years ago
parent
commit
8c981bd174
3 changed files with 22 additions and 10 deletions
  1. 14 2
      scripts/webpack.conf.js
  2. 4 4
      src/background/sync/googledrive.js
  3. 4 4
      src/background/sync/onedrive.js

+ 14 - 2
scripts/webpack.conf.js

@@ -10,10 +10,22 @@ const INIT_FUNC_NAME = 'VMInitInjection';
 // Copied from gulpfile.js: strip alphabetic suffix
 const VM_VER = require('../package.json').version.replace(/-[^.]*/, '');
 
+const pickEnvs = (items) => {
+  return Object.assign({}, ...items.map(({ key, def }) => ({
+    [`process.env.${key}`]: JSON.stringify(process.env[key] ?? def),
+  })));
+};
+
 const definitions = new webpack.DefinePlugin({
+  ...pickEnvs([
+    { key: 'DEBUG', def: false },
+    { key: 'VM_VER' },
+    { key: 'SYNC_GOOGLE_CLIENT_ID' },
+    { key: 'SYNC_GOOGLE_CLIENT_SECRET' },
+    { key: 'SYNC_ONEDRIVE_CLIENT_ID' },
+    { key: 'SYNC_ONEDRIVE_CLIENT_SECRET' },
+  ]),
   'process.env.INIT_FUNC_NAME': JSON.stringify(INIT_FUNC_NAME),
-  'process.env.DEBUG': JSON.stringify(process.env.DEBUG || false),
-  'process.env.VM_VER': JSON.stringify(VM_VER),
 });
 const minimizerOptions = {
   cache: true,

+ 4 - 4
src/background/sync/googledrive.js

@@ -9,12 +9,12 @@ import {
   openAuthPage,
 } from './base';
 
-const SECRET_KEY = JSON.parse(window.atob('eyJjbGllbnRfc2VjcmV0IjoiTjBEbTZJOEV3bkJaeE1xMUpuMHN3UER0In0='));
-const config = Object.assign({
-  client_id: '590447512361-05hjbhnf8ua3iha55e5pgqg15om0cpef.apps.googleusercontent.com',
+const config = {
+  client_id: process.env.SYNC_GOOGLE_CLIENT_ID,
+  client_secret: process.env.SYNC_GOOGLE_CLIENT_SECRET,
   redirect_uri: 'https://violentmonkey.github.io/auth_googledrive.html',
   scope: 'https://www.googleapis.com/auth/drive.appdata',
-}, SECRET_KEY);
+};
 const UNAUTHORIZED = { status: 'UNAUTHORIZED' };
 
 const GoogleDrive = BaseService.extend({

+ 4 - 4
src/background/sync/onedrive.js

@@ -7,11 +7,11 @@ import {
   openAuthPage,
 } from './base';
 
-const SECRET_KEY = JSON.parse(window.atob('eyJjbGllbnRfc2VjcmV0Ijoiajl4M09WRXRIdmhpSEtEV09HcXV5TWZaS2s5NjA0MEgifQ=='));
-const config = Object.assign({
-  client_id: '000000004418358A',
+const config = {
+  client_id: process.env.SYNC_ONEDRIVE_CLIENT_ID,
+  client_secret: process.env.SYNC_ONEDRIVE_CLIENT_SECRET,
   redirect_uri: 'https://violentmonkey.github.io/auth_onedrive.html',
-}, SECRET_KEY);
+};
 
 const OneDrive = BaseService.extend({
   name: 'onedrive',