[MM-31626] bypass gitlab browser-check for oauth login (#1439)

* MM-31626 make User Agent configurable by user

* add info

* remove chrome from UA for gitlab.com

* remove previous solution

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
This commit is contained in:
Guillermo Vayá
2021-01-22 12:11:25 +01:00
committed by GitHub
parent 342f3f00ec
commit 4a72948baa
2 changed files with 17 additions and 2 deletions

View File

@@ -269,8 +269,13 @@ export default class MattermostView extends React.Component {
}
goBack = () => {
const webview = this.webviewRef.current;
webview.getWebContents().goBack();
try {
const webview = this.webviewRef.current;
webview.getWebContents().goBack();
} catch (e) {
console.log(`Error while trying to go back in history: ${e}`);
this.webview.loadURL(this.props.src);
}
}
goForward = () => {

View File

@@ -804,6 +804,16 @@ function initializeAfterAppReady() {
});
});
// Code for preventing user-agent checking. See: https://mattermost.atlassian.net/browse/MM-31626
const REMOVE_CHROME_FROM = ['https://gitlab.com/*'];
const nonChromeUA = session.defaultSession.getUserAgent().replace(/ Chrome\/[\d.]+/g, '');
session.defaultSession.webRequest.onBeforeSendHeaders({urls: REMOVE_CHROME_FROM}, (details, callback) => {
console.warn(`Cloud-flare url detected for ${details.url}, request will use a different User Agent`);
const temporaryHeaders = details.requestHeaders;
temporaryHeaders['User-Agent'] = nonChromeUA;
callback({cancel: false, requestHeaders: temporaryHeaders});
});
ipcMain.emit('update-menu', true, config.data);
ipcMain.emit('update-dict');