From a0c0162b855f815b58fbc335611ec5f9631dd8e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 14 Sep 2023 16:25:43 +0200 Subject: [PATCH 1/4] MOBILE-4201 login: Change forgotten password text --- .../tests/behat/behat_app.php | 2 +- scripts/langindex.json | 2 +- src/core/features/login/lang.json | 4 ++-- .../login/pages/credentials/credentials.html | 2 +- .../login/pages/reconnect/reconnect.html | 2 +- .../login/tests/behat/basic-usage-400.feature | 4 ++-- .../login/tests/behat/basic_usage-311.feature | 4 ++-- .../login/tests/behat/basic_usage.feature | 6 +++--- .../features/login/tests/behat/signup.feature | 6 +++--- ...-displayed-when-adding-a-new-account_9.png | Bin 39973 -> 37997 bytes 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/local_moodleappbehat/tests/behat/behat_app.php b/local_moodleappbehat/tests/behat/behat_app.php index ca4f512aa9a..498b1c11166 100644 --- a/local_moodleappbehat/tests/behat/behat_app.php +++ b/local_moodleappbehat/tests/behat/behat_app.php @@ -336,7 +336,7 @@ public function login(string $username) { // Note there are two 'Log in' texts visible (the title and the button) so we have to use // a 'near' value here. - $this->i_press_in_the_app('"Log in" near "Forgotten"'); + $this->i_press_in_the_app('"Log in" "ion-button"'); // Wait until the main page appears. $this->spin( diff --git a/scripts/langindex.json b/scripts/langindex.json index 332b659a6ce..90906b27279 100644 --- a/scripts/langindex.json +++ b/scripts/langindex.json @@ -2074,7 +2074,7 @@ "core.login.findyoursite": "local_moodlemobileapp", "core.login.firsttime": "moodle", "core.login.forcepasswordchangenotice": "moodle", - "core.login.forgotten": "moodle", + "core.login.forgotaccount": "moodle", "core.login.help": "moodle", "core.login.instructions": "auth", "core.login.invalidaccount": "local_moodlemobileapp", diff --git a/src/core/features/login/lang.json b/src/core/features/login/lang.json index 28f619fee4a..c9bad9613da 100644 --- a/src/core/features/login/lang.json +++ b/src/core/features/login/lang.json @@ -37,7 +37,7 @@ "exceededpasswordresetattemptssupportsubject": "I can't reset my password", "faqcannotfindmysiteanswer": "If you tried searching by URL address and still can't find your Moodle site, please get in touch with the person who takes care of Moodle in your school or learning organisation.", "faqcannotfindmysitequestion": "I can't find my site by URL address.", - "faqcantloginanswer": "

Once you've connected to your Moodle site, you should be able to log in with your usual username and password.


If you forgot your username or password, select the option Forgotten your username or password?. If you still have trouble logging in or can't see any options for retrieving your username or password, please get in touch with the person who takes care of Moodle in your school or learning organisation.

", + "faqcantloginanswer": "

Once you've connected to your Moodle site, you should be able to log in with your usual username and password.


If you forgot your username or password, select the option Lost password?. If you still have trouble logging in or can't see any options for retrieving your username or password, please get in touch with the person who takes care of Moodle in your school or learning organisation.

", "faqcantloginquestion": "I can't log in.", "faqmore": "Check out our FAQ for more answers.", "faqsetupsiteanswer": "Visit {{$link}} to check out the different options you have to create your own Moodle site.", @@ -52,7 +52,7 @@ "findyoursite": "Find your site", "firsttime": "Is this your first time here?", "forcepasswordchangenotice": "You must change your password to proceed.", - "forgotten": "Forgotten your username or password?", + "forgotaccount": "Lost password?", "help": "Help", "instructions": "Instructions", "invalidaccount": "Please check your login details and try again.", diff --git a/src/core/features/login/pages/credentials/credentials.html b/src/core/features/login/pages/credentials/credentials.html index 451709a7f42..e54efed0848 100644 --- a/src/core/features/login/pages/credentials/credentials.html +++ b/src/core/features/login/pages/credentials/credentials.html @@ -69,7 +69,7 @@

diff --git a/src/core/features/login/pages/reconnect/reconnect.html b/src/core/features/login/pages/reconnect/reconnect.html index dbda9509abb..c5baa268646 100644 --- a/src/core/features/login/pages/reconnect/reconnect.html +++ b/src/core/features/login/pages/reconnect/reconnect.html @@ -76,7 +76,7 @@

{{ 'core.login.reconnect' | translate }}

- {{ 'core.login.forgotten' | translate }} + {{ 'core.login.forgotaccount' | translate }} diff --git a/src/core/features/login/tests/behat/basic-usage-400.feature b/src/core/features/login/tests/behat/basic-usage-400.feature index 5e6f19148a2..9bae39ca8a8 100644 --- a/src/core/features/login/tests/behat/basic-usage-400.feature +++ b/src/core/features/login/tests/behat/basic-usage-400.feature @@ -9,11 +9,11 @@ Feature: Test basic usage of login in app Scenario: Forgot password When I enter the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app And I set the field "Enter either username or email address" to "student1" And I press "Search" in the app Then I should find "Success" in the app When I press "OK" in the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app Then I should find "Contact support" in the app diff --git a/src/core/features/login/tests/behat/basic_usage-311.feature b/src/core/features/login/tests/behat/basic_usage-311.feature index a08791ffb95..dc76f87e54b 100644 --- a/src/core/features/login/tests/behat/basic_usage-311.feature +++ b/src/core/features/login/tests/behat/basic_usage-311.feature @@ -9,11 +9,11 @@ Feature: Test basic usage of login in app Scenario: Forgot password When I enter the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app And I set the field "Enter either username or email address" to "student1" And I press "Search" in the app Then I should find "Success" in the app When I press "OK" in the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app Then I should not find "Contact support" in the app diff --git a/src/core/features/login/tests/behat/basic_usage.feature b/src/core/features/login/tests/behat/basic_usage.feature index c7421a7c116..152edad216a 100755 --- a/src/core/features/login/tests/behat/basic_usage.feature +++ b/src/core/features/login/tests/behat/basic_usage.feature @@ -36,7 +36,7 @@ Feature: Test basic usage of login in app When I set the following fields to these values in the app: | Username | student1 | | Password | student1 | - And I press "Log in" near "Forgotten your username or password?" in the app + And I press "Log in" near "Lost password?" in the app Then I should find "Acceptance test site" in the app And the UI should match the snapshot But I should not find "Log in" in the app @@ -143,11 +143,11 @@ Feature: Test basic usage of login in app Given the following config values are set as admin: | supportavailability | 2 | When I enter the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app And I set the field "Enter either username or email address" to "student1" And I press "Search" in the app Then I should find "Success" in the app When I press "OK" in the app - And I press "Forgotten your username or password?" in the app + And I press "Lost password?" in the app Then I should find "Contact support" in the app diff --git a/src/core/features/login/tests/behat/signup.feature b/src/core/features/login/tests/behat/signup.feature index 95ecfcb8406..6518f37702d 100755 --- a/src/core/features/login/tests/behat/signup.feature +++ b/src/core/features/login/tests/behat/signup.feature @@ -62,14 +62,14 @@ Feature: Test signup in app And I set the following fields to these values in the app: | Username | u1 | | Password | pu1 | - And I press "Log in" near "Forgotten your username or password?" in the app + And I press "Log in" near "Lost password?" in the app Then I should find "You need to confirm your account" in the app When I open a browser tab with url "$WWWROOT" And I confirm email for "u1" And I close the browser tab opened by the app And I press "Close" in the app - And I press "Log in" near "Forgotten your username or password?" in the app + And I press "Log in" near "Lost password?" in the app Then I should find "Acceptance test site" in the app But I should not find "You need to confirm your account" in the app @@ -173,7 +173,7 @@ Feature: Test signup in app And I set the following fields to these values in the app: | Username | u1 | | Password | pu1 | - And I press "Log in" near "Forgotten your username or password?" in the app + And I press "Log in" near "Lost password?" in the app And I press the user menu button in the app And I press "User Test" in the app Then I should find "No" near "Are you a developer?" in the app diff --git a/src/core/features/login/tests/behat/snapshots/test-basic-usage-of-login-in-app-add-a-new-account-in-the-app--site-name-in-displayed-when-adding-a-new-account_9.png b/src/core/features/login/tests/behat/snapshots/test-basic-usage-of-login-in-app-add-a-new-account-in-the-app--site-name-in-displayed-when-adding-a-new-account_9.png index 0c3b160a850120480d5bde19e9eb5e9a4e70f942..727cbb0e14c4dbd1915bb46a25f3b5d693909394 100644 GIT binary patch delta 18479 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 S`i_D>XOz?x)8#MS`M&^dfi9T< From a4d7ffeb5e6afad2c002997c6e238c492dcc9797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 14 Sep 2023 16:43:27 +0200 Subject: [PATCH 2/4] MOBILE-4201 login: Add TypeOfLogin enum --- src/core/classes/site.ts | 11 +++++++++- src/core/constants.ts | 6 +++++ .../features/login/services/login-helper.ts | 22 +++++++++---------- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/core/classes/site.ts b/src/core/classes/site.ts index c39a09f1ea6..d44db5b037f 100644 --- a/src/core/classes/site.ts +++ b/src/core/classes/site.ts @@ -2771,7 +2771,7 @@ export type CoreSitePublicConfigResponse = { maintenancemessage: string; // Maintenance message. logourl?: string; // The site logo URL. compactlogourl?: string; // The site compact logo URL. - typeoflogin: number; // The type of login. 1 for app, 2 for browser, 3 for embedded. + typeoflogin: TypeOfLogin; // The type of login. 1 for app, 2 for browser, 3 for embedded. launchurl?: string; // SSO login launch URL. mobilecssurl?: string; // Mobile custom CSS theme. // eslint-disable-next-line @typescript-eslint/naming-convention @@ -2869,3 +2869,12 @@ enum OngoingRequestType { STANDARD = 0, UPDATE_IN_BACKGROUND = 1, } + +/** + * The type of login. 1 for app, 2 for browser, 3 for embedded. + */ +export enum TypeOfLogin { + APP = 1, + BROWSER = 2, // SSO in browser window is required. + EMBEDDED = 3, // SSO in embedded browser is required. +} diff --git a/src/core/constants.ts b/src/core/constants.ts index 3048b6501db..b1eaa1af8b4 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -82,7 +82,13 @@ export class CoreConstants { static readonly WS_PREFIX = 'local_mobile_'; // @deprecated since app 4.0. // Login constants. + /** + * @deprecated since 4.3 Use TypeOfLogin.BROWSER instead. + */ static readonly LOGIN_SSO_CODE = 2; // SSO in browser window is required. + /** + * @deprecated since 4.3 Use TypeOfLogin.EMBEDDED instead. + */ static readonly LOGIN_SSO_INAPP_CODE = 3; // SSO in embedded browser is required. static readonly LOGIN_LAUNCH_DATA = 'CoreLoginLaunchData'; diff --git a/src/core/features/login/services/login-helper.ts b/src/core/features/login/services/login-helper.ts index ee194491bb1..0876b58ccff 100644 --- a/src/core/features/login/services/login-helper.ts +++ b/src/core/features/login/services/login-helper.ts @@ -26,7 +26,7 @@ import { CoreTextUtils } from '@services/utils/text'; import { CoreUrlParams, CoreUrlUtils } from '@services/utils/url'; import { CoreUtils } from '@services/utils/utils'; import { CoreConstants } from '@/core/constants'; -import { CoreSite, CoreSiteIdentityProvider, CoreSitePublicConfigResponse, CoreSiteQRCodeType } from '@classes/site'; +import { CoreSite, CoreSiteIdentityProvider, CoreSitePublicConfigResponse, CoreSiteQRCodeType, TypeOfLogin } from '@classes/site'; import { CoreError } from '@classes/errors/error'; import { CoreWSError } from '@classes/errors/wserror'; import { DomSanitizer, makeSingleton, Translate } from '@singletons'; @@ -139,7 +139,7 @@ export class CoreLoginHelperProvider { * Open a browser to perform SSO login. * * @param siteUrl URL of the site where the SSO login will be performed. - * @param typeOfLogin CoreConstants.LOGIN_SSO_CODE or CoreConstants.LOGIN_SSO_INAPP_CODE. + * @param typeOfLogin TypeOfLogin.BROWSER or TypeOfLogin.EMBEDDED. * @param service The service to use. If not defined, core service will be used. * @param launchUrl The URL to open for SSO. If not defined, default tool mobile launch URL will be used. * @param redirectData Data of the path/url to open once authenticated. If not defined, site initial page. @@ -148,7 +148,7 @@ export class CoreLoginHelperProvider { */ async confirmAndOpenBrowserForSSOLogin( siteUrl: string, - typeOfLogin: number, + typeOfLogin: TypeOfLogin, service?: string, launchUrl?: string, redirectData?: CoreRedirectPayload, @@ -601,8 +601,8 @@ export class CoreLoginHelperProvider { * @param code Code to check. * @returns True if embedded browser, false othwerise. */ - isSSOEmbeddedBrowser(code: number): boolean { - return code == CoreConstants.LOGIN_SSO_INAPP_CODE; + isSSOEmbeddedBrowser(code: TypeOfLogin): boolean { + return code == TypeOfLogin.EMBEDDED; } /** @@ -611,8 +611,8 @@ export class CoreLoginHelperProvider { * @param code Code to check. * @returns True if SSO login is needed, false othwerise. */ - isSSOLoginNeeded(code: number): boolean { - return code == CoreConstants.LOGIN_SSO_CODE || code == CoreConstants.LOGIN_SSO_INAPP_CODE; + isSSOLoginNeeded(code: TypeOfLogin): boolean { + return code == TypeOfLogin.BROWSER || code == TypeOfLogin.EMBEDDED; } /** @@ -656,14 +656,14 @@ export class CoreLoginHelperProvider { * Open a browser to perform SSO login. * * @param siteUrl URL of the site where the SSO login will be performed. - * @param typeOfLogin CoreConstants.LOGIN_SSO_CODE or CoreConstants.LOGIN_SSO_INAPP_CODE. + * @param typeOfLogin TypeOfLogin.BROWSER or TypeOfLogin.EMBEDDED. * @param service The service to use. If not defined, core service will be used. * @param launchUrl The URL to open for SSO. If not defined, default tool mobile launch URL will be used. * @param redirectData Data of the path/url to open once authenticated. If not defined, site initial page. */ openBrowserForSSOLogin( siteUrl: string, - typeOfLogin: number, + typeOfLogin: TypeOfLogin, service?: string, launchUrl?: string, redirectData?: CoreRedirectPayload, @@ -901,12 +901,12 @@ export class CoreLoginHelperProvider { /** * Check if a confirm should be shown to open a SSO authentication. * - * @param typeOfLogin CoreConstants.LOGIN_SSO_CODE or CoreConstants.LOGIN_SSO_INAPP_CODE. + * @param typeOfLogin TypeOfLogin.BROWSER or TypeOfLogin.EMBEDDED. * @returns True if confirm modal should be shown, false otherwise. * @deprecated since 4.3 Not used anymore. */ // eslint-disable-next-line @typescript-eslint/no-unused-vars - shouldShowSSOConfirm(typeOfLogin: number): boolean { + shouldShowSSOConfirm(typeOfLogin: TypeOfLogin): boolean { return false; } From 6f6b8f2a2d6f6ef2e17a77fc568a9f4e804611d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 14 Sep 2023 17:11:42 +0200 Subject: [PATCH 3/4] MOBILE-4201 login: Do not show other auth methods or signup if sso --- .../login/components/login-methods/login-methods.ts | 10 ++++++++-- .../features/login/pages/credentials/credentials.html | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/core/features/login/components/login-methods/login-methods.ts b/src/core/features/login/components/login-methods/login-methods.ts index 606e2ee13ec..a934c1bc086 100644 --- a/src/core/features/login/components/login-methods/login-methods.ts +++ b/src/core/features/login/components/login-methods/login-methods.ts @@ -31,6 +31,7 @@ export class CoreLoginMethodsComponent implements OnInit { @Input() siteConfig?: CoreSitePublicConfigResponse; @Input() redirectData?: CoreRedirectPayload; + isBrowserSSO = false; showScanQR = false; loginMethods: CoreLoginMethod[] = []; identityProviders: CoreSiteIdentityProvider[] = []; @@ -50,9 +51,14 @@ export class CoreLoginMethodsComponent implements OnInit { } if (this.siteConfig) { - const disabledFeatures = CoreLoginHelper.getDisabledFeatures(this.siteConfig); + this.isBrowserSSO = CoreLoginHelper.isSSOLoginNeeded(this.siteConfig.typeoflogin); - this.identityProviders = CoreLoginHelper.getValidIdentityProviders(this.siteConfig, disabledFeatures); + if (!this.isBrowserSSO) { + // Identity providers won't be shown if login on browser. + const disabledFeatures = CoreLoginHelper.getDisabledFeatures(this.siteConfig); + + this.identityProviders = CoreLoginHelper.getValidIdentityProviders(this.siteConfig, disabledFeatures); + } if (this.reconnect) { this.showScanQR = CoreLoginHelper.displayQRInSiteScreen(); diff --git a/src/core/features/login/pages/credentials/credentials.html b/src/core/features/login/pages/credentials/credentials.html index e54efed0848..be6df430171 100644 --- a/src/core/features/login/pages/credentials/credentials.html +++ b/src/core/features/login/pages/credentials/credentials.html @@ -86,7 +86,7 @@

-