diff --git a/app/screens/sso/sso.js b/app/screens/sso/sso.js
index f9265c059..ff01538e7 100644
--- a/app/screens/sso/sso.js
+++ b/app/screens/sso/sso.js
@@ -26,7 +26,7 @@ const HEADERS = {
'X-Mobile-App': 'mattermost',
};
-const postMessageJS = "setTimeout(function() { postMessage(document.body.innerText, '*')}, 0);";
+const postMessageJS = "postMessage(document.body.innerText, '*');";
// Used to make sure that OneLogin forms scale appropriately on both platforms.
const oneLoginFormScalingJS = `
@@ -158,14 +158,9 @@ class SSO extends PureComponent {
const {url} = navState;
const nextState = {};
const parsed = urlParse(url);
- const serverUrl = urlParse(this.props.serverUrl);
if (parsed.host.includes('.onelogin.com')) {
nextState.jsCode = oneLoginFormScalingJS;
- } else if (serverUrl.host === parsed.host) {
- nextState.jsCode = postMessageJS;
- } else {
- nextState.jsCode = '';
}
if (Object.keys(nextState).length) {
@@ -193,6 +188,8 @@ class SSO extends PureComponent {
then(getSession).
then(this.goToLoadTeam).
catch(this.onLoadEndError);
+ } else if (this.webView && !this.state.error) {
+ this.webView.injectJavaScript(postMessageJS);
}
});
}
@@ -207,6 +204,10 @@ class SSO extends PureComponent {
return ;
};
+ webViewRef = (ref) => {
+ this.webView = ref;
+ };
+
render() {
const {theme} = this.props;
const {error, renderWebView, jsCode} = this.state;
@@ -224,6 +225,7 @@ class SSO extends PureComponent {
} else {
content = (