From 112377ccc9478d265c9d23d771f2ff92dbe0c486 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Fri, 19 Jun 2020 08:56:19 +0200 Subject: [PATCH] MOBILE-3401 login: Fix navigation when authenticate via URL scheme --- src/core/login/providers/helper.ts | 9 ++++++++- src/providers/urlschemes.ts | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/login/providers/helper.ts b/src/core/login/providers/helper.ts index e9114023e..700a98d11 100644 --- a/src/core/login/providers/helper.ts +++ b/src/core/login/providers/helper.ts @@ -531,9 +531,16 @@ export class CoreLoginHelperProvider { goToNoSitePage(navCtrl: NavController, page: string, params?: any): Promise { navCtrl = navCtrl || this.appProvider.getRootNavController(); - if (page == 'CoreLoginSitesPage') { + const currentPage = navCtrl && navCtrl.getActive().component.name; + + if (page == currentPage) { + // Already at page, nothing to do. + } else if (page == 'CoreLoginSitesPage') { // Just open the page as root. return navCtrl.setRoot(page, params); + } else if (page == 'CoreLoginCredentialsPage' && currentPage == 'CoreLoginSitePage') { + // Just open the new page to keep the navigation history. + return navCtrl.push(page, params); } else { // Check if there is any site stored. return this.sitesProvider.hasSites().then((hasSites) => { diff --git a/src/providers/urlschemes.ts b/src/providers/urlschemes.ts index 1ce94172c..577b9d05b 100644 --- a/src/providers/urlschemes.ts +++ b/src/providers/urlschemes.ts @@ -105,7 +105,7 @@ export class CoreCustomURLSchemesProvider { await this.sitesProvider.checkRequiredMinimumVersion(result.config); } - return this.sitesProvider.newSite(data.siteUrl, data.token, data.privateToken, data.isSSOToken, + return this.sitesProvider.newSite(data.siteUrl, data.token, data.privateToken, !!data.isSSOToken, this.loginHelper.getOAuthIdFromParams(data.ssoUrlParams)); } else { // Token belongs to current site, no need to create it.