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 (