diff --git a/app/actions/views/user.js b/app/actions/views/user.js index 55de593af..e69787d15 100644 --- a/app/actions/views/user.js +++ b/app/actions/views/user.js @@ -40,8 +40,8 @@ export function completeLogin(user, deviceToken) { } // Data retention - if (config.DataRetentionEnableMessageDeletion && config.DataRetentionEnableMessageDeletion === 'true' && - license.IsLicensed === 'true' && license.DataRetention === 'true') { + if (config?.DataRetentionEnableMessageDeletion && config?.DataRetentionEnableMessageDeletion === 'true' && + license?.IsLicensed === 'true' && license?.DataRetention === 'true') { dispatch(getDataRetentionPolicy()); } else { dispatch({type: GeneralTypes.RECEIVED_DATA_RETENTION_POLICY, data: {}}); @@ -183,14 +183,10 @@ export function login(loginId, password, mfaToken, ldapOnly = false) { }; } -export function ssoLogin(token) { +export function ssoLogin() { return async (dispatch, getState) => { const state = getState(); const deviceToken = state.entities?.general?.deviceToken; - - Client4.setToken(token); - await setCSRFFromCookie(Client4.getUrl()); - const result = await dispatch(loadMe()); if (!result.error) { diff --git a/app/init/fetch.js b/app/init/fetch.js index cf7b53633..1e372de6c 100644 --- a/app/init/fetch.js +++ b/app/init/fetch.js @@ -41,6 +41,8 @@ const handleRedirectProtocol = (url, response) => { }; Client4.doFetchWithResponse = async (url, options) => { + // eslint-disable-next-line no-console + console.log('Request endpoint', url); const customHeaders = LocalConfig.CustomRequestHeaders; let waitsForConnectivity = false; let timeoutIntervalForResource = 30; @@ -136,7 +138,7 @@ Client4.doFetchWithResponse = async (url, options) => { } throw new ClientError(Client4.getUrl(), { - message: msg, + message: `${msg} url = ${url}`, server_error_id: data.id, status_code: data.status_code, url, diff --git a/app/screens/sso/sso.js b/app/screens/sso/sso.js index efa37271e..996e711c2 100644 --- a/app/screens/sso/sso.js +++ b/app/screens/sso/sso.js @@ -119,7 +119,13 @@ class SSO extends PureComponent { CookieManager.get(parsedUrl.href, true).then((res) => { const mmtoken = res.MMAUTHTOKEN; + const csrf = res.MMCSRF; const token = typeof mmtoken === 'object' ? mmtoken.value : mmtoken; + const csrfToken = typeof csrf === 'object' ? csrf.value : csrf; + + if (csrfToken) { + Client4.setCSRF(csrfToken); + } if (token) { clearTimeout(this.cookiesTimeout); @@ -129,7 +135,7 @@ class SSO extends PureComponent { } = this.props.actions; Client4.setToken(token); - ssoLogin(token).then((result) => { + ssoLogin().then((result) => { if (result.error) { this.onLoadEndError(result.error); return; @@ -227,15 +233,13 @@ class SSO extends PureComponent { const style = getStyleSheet(theme); let content; - if (!renderWebView) { - content = this.renderLoading(); - } else if (error) { + if (error) { content = ( {error} ); - } else { + } else if (renderWebView) { content = ( ); + } else { + content = this.renderLoading(); } return (