diff --git a/app/screens/sso/sso.js b/app/screens/sso/sso.js index ffef65138..3538d5e73 100644 --- a/app/screens/sso/sso.js +++ b/app/screens/sso/sso.js @@ -8,6 +8,7 @@ import { InteractionManager, Text, View, + Platform, } from 'react-native'; import {WebView} from 'react-native-webview'; import CookieManager from 'react-native-cookies'; @@ -71,6 +72,8 @@ class SSO extends PureComponent { }).isRequired, }; + useWebkit = true; + constructor(props) { super(props); @@ -95,6 +98,10 @@ class SSO extends PureComponent { this.completedUrl = '/signup/office365/complete'; break; } + + if (Platform.OS === 'ios') { + this.useWebkit = parseInt(Platform.Version, 10) >= 11; + } } componentDidMount() { @@ -102,7 +109,7 @@ class SSO extends PureComponent { } clearPreviousCookies = () => { - CookieManager.clearAll(true).then(() => { + CookieManager.clearAll(this.useWebkit).then(() => { this.setState({renderWebView: true}); }); }; @@ -168,7 +175,7 @@ class SSO extends PureComponent { onLoadEnd = (event) => { const url = event.nativeEvent.url; if (url.includes(this.completedUrl)) { - CookieManager.get(urlParse(url).origin, true).then((res) => { + CookieManager.get(urlParse(url).origin, this.useWebkit).then((res) => { const token = res.MMAUTHTOKEN; if (token) { @@ -237,7 +244,7 @@ class SSO extends PureComponent { injectedJavaScript={jsCode} onLoadEnd={this.onLoadEnd} onMessage={messagingEnabled ? this.onMessage : null} - useWebKit={true} + useWebKit={this.useWebkit} useSharedProcessPool={true} cacheEnabled={true} />