{"version":3,"file":"app-e3cfb80c.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/login/login.html","webpack://iadviser/./src/login/login.css","webpack://iadviser/./src/login/login.ts"],"sourcesContent":["// Imports\nimport ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___ from \"../../node_modules/html-loader/dist/runtime/getUrl.js\";\nvar ___HTML_LOADER_IMPORT_0___ = new URL(\"../../static/windows-logo.svg\", import.meta.url);\n// Module\nvar ___HTML_LOADER_REPLACEMENT_0___ = ___HTML_LOADER_GET_SOURCE_FROM_IMPORT___(___HTML_LOADER_IMPORT_0___);\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n We Couldn’t sign you in\\r\\n \\r\\n\\r\\n \\r\\n ${microsoftErrorMessage}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n ×\\r\\n \\r\\n\\r\\n Sign in with Microsoft\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Protect your account with two-step verification.\\r\\n Each time you sign in, in addition to your password, you'll enter a one-time code generated by your authenticator app.\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Step 1: Scan the QR code below or manually type the secret key into your authenticator app.\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n ${twoFactorAuthModel.manualSetupKey}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Step 2: Enter the 6-digit code you see in your authenticator app.\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Complete signing in with your authenticator app.\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ${currentYear} © AUB BrokerTech Services Pty Limited\\r\\n \\r\\n \\r\\n\\r\\n\";\n// Exports\nexport default code;","// extracted by mini-css-extract-plugin\nexport default {\"btn\":\"btn____D7bZu\",\"btn--flat\":\"btn--flat_____Pqc5 btn____D7bZu\",\"btn--submit\":\"btn--submit____nemVE btn____D7bZu\",\"btn--delete\":\"btn--delete____n4MQy btn____D7bZu\",\"btn--link\":\"btn--link____dFMiz btn____D7bZu btn--link____dFMiz btn____D7bZu\",\"btn--inline-text-link\":\"btn--inline-text-link____Fzpz5 btn--link____dFMiz btn____D7bZu\",\"btn--footer\":\"btn--footer____VEv1z btn____D7bZu\",\"btn--footer-submit\":\"btn--footer-submit____Fa_Ml btn--submit____nemVE btn____D7bZu btn--footer____VEv1z btn____D7bZu\",\"btn--footer-cancel\":\"btn--footer-cancel____tFEup\",\"btn--footer---cancel\":\"btn--footer---cancel____sd9lx\",\"btn--footer-delete\":\"btn--footer-delete____j9yZV btn--delete____n4MQy btn____D7bZu btn--footer____VEv1z btn____D7bZu\",\"btn--qce-dropdown\":\"btn--qce-dropdown____LaQOx btn--footer-submit____Fa_Ml btn--submit____nemVE btn____D7bZu btn--footer____VEv1z btn____D7bZu\",\"btn--footer-combo\":\"btn--footer-combo____G9P9l btn--footer____VEv1z btn____D7bZu\",\"btn--lmi-bicalc\":\"btn--lmi-bicalc____QVKgF btn____D7bZu\",\"btn--lmi-risk\":\"btn--lmi-risk____FGmFb btn____D7bZu\",\"btn--lmi-policy-comparison\":\"btn--lmi-policy-comparison____wJC2q btn____D7bZu\",\"btn--lmi-policy-coach\":\"btn--lmi-policy-coach____FxqVl btn____D7bZu\",\"btn--andrew-nock\":\"btn--andrew-nock____lRiTF btn____D7bZu\",\"btn--construction-cost-consultants\":\"btn--construction-cost-consultants____fuMzF btn____D7bZu\",\"btn--5-star\":\"btn--5-star____BTugH btn____D7bZu\",\"btn--thermoscan\":\"btn--thermoscan____phh51 btn____D7bZu\",\"btn--risk-survey-services\":\"btn--risk-survey-services____Rg60Y btn____D7bZu\",\"btn--risk-management\":\"btn--risk-management____H0qXm btn____D7bZu\",\"btn--lmi-bicalc--disabled\":\"btn--lmi-bicalc--disabled____lmEZd btn--lmi-bicalc____QVKgF btn____D7bZu\",\"btn--lmi-risk--disabled\":\"btn--lmi-risk--disabled____zlail btn--lmi-risk____FGmFb btn____D7bZu\",\"btn--lmi-policy-comparison--disabled\":\"btn--lmi-policy-comparison--disabled____qAQ27 btn--lmi-policy-comparison____wJC2q btn____D7bZu\",\"btn--initial-insured-location-risk\":\"btn--initial-insured-location-risk____R_8iQ btn--flat_____Pqc5 btn____D7bZu btn____D7bZu\",\"btn--icon\":\"btn--icon____SaS3f btn____D7bZu\",\"btn--icon-no-border\":\"btn--icon-no-border____VZNFF\",\"btn--icon-add\":\"btn--icon-add____hDIGJ btn--icon____SaS3f btn____D7bZu\",\"btn--add-risk\":\"btn--add-risk____Uovc_ btn--icon____SaS3f btn____D7bZu\",\"btn--icon-close\":\"btn--icon-close____hL3Am\",\"task-access-modal__close\":\"task-access-modal__close____juozx\",\"btn--icon-delete\":\"btn--icon-delete____RLVRD btn--icon____SaS3f btn____D7bZu\",\"btn--icon-download\":\"btn--icon-download____Zqjrd btn--icon____SaS3f btn____D7bZu\",\"btn--icon-edit\":\"btn--icon-edit____E_MzF btn--icon____SaS3f btn____D7bZu\",\"btn--icon-email\":\"btn--icon-email____jSerX btn--icon____SaS3f btn____D7bZu\",\"btn--icon-download-email\":\"btn--icon-download-email____Jqwmj btn--icon____SaS3f btn____D7bZu\",\"btn--icon-folder\":\"btn--icon-folder____BeNeM btn--icon____SaS3f btn____D7bZu\",\"btn--icon-folder-locked\":\"btn--icon-folder-locked____MA27D btn--icon____SaS3f btn____D7bZu\",\"btn--icon-folder-locked-active\":\"btn--icon-folder-locked-active____WBO6v btn--icon____SaS3f btn____D7bZu\",\"btn--icon-history\":\"btn--icon-history____AGcMq btn--icon____SaS3f btn____D7bZu\",\"btn--icon-info\":\"btn--icon-info____X2YV2 btn--icon____SaS3f btn____D7bZu\",\"btn--icon-task\":\"btn--icon-task____gJBFt btn--icon____SaS3f btn____D7bZu\",\"btn--icon-link\":\"btn--icon-link____KIkKw btn--icon____SaS3f btn____D7bZu\",\"btn--icon-unlink\":\"btn--icon-unlink____ONyhB btn--icon-delete____RLVRD btn--icon____SaS3f btn____D7bZu\",\"btn--icon-map\":\"btn--icon-map____XJLMd btn--icon____SaS3f btn____D7bZu\",\"btn--icon-more\":\"btn--icon-more____JGndj btn--icon____SaS3f btn____D7bZu\",\"btn--icon-open-in-new-window\":\"btn--icon-open-in-new-window____kdg2V btn--icon____SaS3f btn____D7bZu\",\"btn--icon-favourite--selected\":\"btn--icon-favourite--selected____UcRVf btn--icon____SaS3f btn____D7bZu\",\"btn--icon-favourite--deselected\":\"btn--icon-favourite--deselected____iqq9T btn--icon____SaS3f btn____D7bZu\",\"btn--icon-preview\":\"btn--icon-preview____hlRaF btn--icon____SaS3f btn____D7bZu\",\"btn--icon-pre-printed\":\"btn--icon-pre-printed____W1ZKu btn--icon____SaS3f btn____D7bZu\",\"btn--icon-print\":\"btn--icon-print____hJ5FF btn--icon____SaS3f btn____D7bZu\",\"btn--icon-save\":\"btn--icon-save____d3tdU btn--icon____SaS3f btn____D7bZu\",\"btn--icon-settings\":\"btn--icon-settings____nRd09 btn--icon____SaS3f btn____D7bZu\",\"btn--icon-show-details\":\"btn--icon-show-details____yqkKM btn--icon____SaS3f btn____D7bZu\",\"btn--icon-show-details--alert\":\"btn--icon-show-details--alert____TJ8Zy btn--icon____SaS3f btn____D7bZu\",\"btn--icon-show-summary\":\"btn--icon-show-summary____LupxM btn--icon____SaS3f btn____D7bZu\",\"btn--icon-attachment\":\"btn--icon-attachment____yOOBx btn--icon____SaS3f btn____D7bZu\",\"btn--icon-tag\":\"btn--icon-tag____xJ0e_ btn--icon____SaS3f btn____D7bZu\",\"btn--icon-undo\":\"btn--icon-undo____uFaLq btn--icon____SaS3f btn____D7bZu\",\"btn--icon-sync\":\"btn--icon-sync____eME_X btn--icon____SaS3f btn____D7bZu\",\"btn--icon-arrow-forward\":\"btn--icon-arrow-forward____CT0td btn--icon____SaS3f btn____D7bZu\",\"btn--aside-collapse\":\"btn--aside-collapse____BRb2P btn--icon____SaS3f btn____D7bZu\",\"btn--icon-expand-more\":\"btn--icon-expand-more____POliu btn--icon____SaS3f btn____D7bZu\",\"btn--icon-expand-less\":\"btn--icon-expand-less____xRUam btn--icon____SaS3f btn____D7bZu\",\"btn--icon-general\":\"btn--icon-general____uEpIl btn--icon____SaS3f btn____D7bZu\",\"btn--icon-sales\":\"btn--icon-sales____fjSbB btn--icon____SaS3f btn____D7bZu\",\"btn--icon-branch\":\"btn--icon-branch____hhnlf btn--icon____SaS3f btn____D7bZu\",\"btn--icon-contact\":\"btn--icon-contact____TO8sn btn--icon____SaS3f btn____D7bZu\",\"btn--icon-consent\":\"btn--icon-consent____awT0B btn--icon____SaS3f btn____D7bZu\",\"btn--icon-questions\":\"btn--icon-questions____D4hkW btn--icon____SaS3f btn____D7bZu\",\"btn--icon-associated\":\"btn--icon-associated____P_OUv btn--icon____SaS3f btn____D7bZu\",\"btn--icon-notes\":\"btn--icon-notes____nzJml btn--icon____SaS3f btn____D7bZu\",\"btn--back\":\"btn--back____VQXrY\",\"btn--back-to-sign-in\":\"btn--back-to-sign-in____smtsV btn--back____VQXrY\",\"btn--icon-advanced-search\":\"btn--icon-advanced-search____ETs7e btn--icon____SaS3f btn____D7bZu\",\"btn--wizard\":\"btn--wizard____oVNO_ btn____D7bZu\",\"btn--wizard-back\":\"btn--wizard-back____yFfzX btn--wizard____oVNO_ btn____D7bZu\",\"btn--wizard-next\":\"btn--wizard-next____xk914 btn--wizard____oVNO_ btn____D7bZu\",\"task-delete-confirm-modal__delete\":\"task-delete-confirm-modal__delete____PhF_Q\",\"task-delete-confirm-modal__cancel\":\"task-delete-confirm-modal__cancel____Wb26O\",\"button-options\":\"button-options____Uz903\",\"cancel\":\"cancel_____SJcM\",\"tasksubmit\":\"tasksubmit____g7dyu\",\"forgotPasswordBtn\":\"forgotPasswordBtn____WRKwx\",\"show-complet-tasks\":\"show-complet-tasks____dRYC8\",\"fieldset\":\"fieldset____jRDMU\",\"fieldset-instruction\":\"fieldset-instruction____ofGeG\",\"fieldset--no-padding\":\"fieldset--no-padding____zzCrj fieldset____jRDMU\",\"fieldset--alt\":\"fieldset--alt____NBVnL fieldset____jRDMU\",\"input-search\":\"input-search____fQMIf\",\"view-password\":\"view-password____aO_53\",\"ia-currency-input\":\"ia-currency-input_____yr9E\",\"ia-currency-negative\":\"ia-currency-negative_____nytd\",\"select--mini\":\"select--mini____CCIWd\",\"required-label\":\"required-label____iQamc\",\"alert\":\"alert____DQMKh\",\"alert--important\":\"alert--important____KlywR\",\"input-label\":\"input-label____UuqYk\",\"w-100\":\"w-100____hwtS9\",\"search-input-wrapper\":\"search-input-wrapper____UGJnI\",\"search-input--results\":\"search-input--results____X3DRl\",\"search-input--result\":\"search-input--result____j1eP0\",\"search-input--result--highlighted\":\"search-input--result--highlighted____BJ3P6\",\"date-range-selections\":\"date-range-selections____YNLPt\",\"date-arrow-forward\":\"date-arrow-forward____N5U3A\",\"qce-dropdown\":\"qce-dropdown____edd8M\",\"qce-or\":\"qce-or____RbWIA\",\"qce-dropdown-with-dropdown\":\"qce-dropdown-with-dropdown____Npx0k\",\"qce-vehicle-registration-search\":\"qce-vehicle-registration-search____VKbEb\",\"row-gap\":\"row-gap____btOIf\",\"row-group\":\"row-group____xxaeh\",\"row-group--three\":\"row-group--three____ivPuy row-group____xxaeh\",\"grid-14\":\"grid-14____st5P8\",\"row-group--auto\":\"row-group--auto____PVMeS row-group____xxaeh\",\"space\":\"space____vM0VF\",\"display-none--lg\":\"display-none--lg____ZEopL\",\"display-none--md\":\"display-none--md____vI3CS\",\"card\":\"card____K9iQ2\",\"card-content\":\"card-content____stTlR\",\"card-heading\":\"card-heading____rjEeE\",\"control-group\":\"control-group____e8H51\",\"label-group\":\"label-group____J1iG9\",\"label-group-item\":\"label-group-item____eHv6V\",\"constrained-width\":\"constrained-width____vQI41\",\"button-group\":\"button-group____Fac69\",\"card--alert\":\"card--alert____RWv57 card____K9iQ2\",\"card-heading--alert\":\"card-heading--alert____RddVq card-heading____rjEeE\",\"card--status-message\":\"card--status-message____hDGO6\",\"card--status-message--left\":\"card--status-message--left____Ge5dF card--status-message____hDGO6\",\"card-heading--sticky-header\":\"card-heading--sticky-header____hIPvm\",\"card-heading--no-icon\":\"card-heading--no-icon____s_8Nf card-heading____rjEeE\",\"card-heading--bold-title\":\"card-heading--bold-title____PEmF_\",\"bg-blue-sky\":\"bg-blue-sky____KJMEi\",\"card-heading--advanced-search-results\":\"card-heading--advanced-search-results____UESEs\",\"validation-errors\":\"validation-errors____YPpuN\",\"validation-feedback\":\"validation-feedback____h0MaH\",\"screen-container\":\"screen-container____cC9bJ\",\"content\":\"content____IuoTX card____K9iQ2\",\"content--broker\":\"content--broker____SR2e2 content____IuoTX card____K9iQ2\",\"login-panel\":\"login-panel____Vu5N0\",\"form-group\":\"form-group____dIPZw\",\"login-button-group\":\"login-button-group____Q3Nuv\",\"btn--sign-in\":\"btn--sign-in____qt1XP btn--flat_____Pqc5 btn____D7bZu btn--submit____nemVE btn____D7bZu\",\"btn--reset-password\":\"btn--reset-password____XUTfY btn--flat_____Pqc5 btn____D7bZu btn--submit____nemVE btn____D7bZu\",\"login-wrapper\":\"login-wrapper____uxz5i\",\"btn--back-to-sign-in__icon\":\"btn--back-to-sign-in__icon____OpxV9\",\"btn--back-to-sign-in__label\":\"btn--back-to-sign-in__label____xKxP7\",\"login-copyright\":\"login-copyright____RoYDq\",\"password-reset-btn-group\":\"password-reset-btn-group____InZ__ login-button-group____Q3Nuv\",\"qr-code\":\"qr-code____hps1W\",\"manual-setup-key\":\"manual-setup-key____pLQp7\",\"step-group\":\"step-group____sTLEE\",\"login-button-group__icon\":\"login-button-group__icon____OjNw1\",\"login-button-group__text\":\"login-button-group__text____NheZq\",\"microsoft-error\":\"microsoft-error____oqzuC\",\"microsoft-error__icon\":\"microsoft-error__icon____aJ1pk\",\"microsoft-error__content\":\"microsoft-error__content____oLhKP\",\"microsoft-error__title\":\"microsoft-error__title____PwnWI\",\"microsoft-error__message\":\"microsoft-error__message____afPXJ\",\"microsoft-error__close\":\"microsoft-error__close____R1Nk5\"};","import { IaToastService } from 'resources/services/ia-toast-service';\r\nimport { Store } from 'aurelia-store';\r\nimport { PLATFORM } from 'aurelia-pal';\r\nimport { autoinject, Aurelia } from 'aurelia-framework';\r\nimport { environment } from 'environment';\r\nimport { TokenService } from 'resources/services/token-service';\r\nimport { User } from 'resources/models/user';\r\nimport { HttpClient } from 'aurelia-fetch-client';\r\nimport styles from './login.css';\r\nimport { AppRouter } from 'aurelia-router';\r\nimport { ValidationController, ValidationControllerFactory, ValidationRules } from 'aurelia-validation';\r\nimport { FormValidationRenderer } from 'resources/form-validation-renderer';\r\nimport { CountryCode } from 'libphonenumber-js';\r\nimport { State } from 'store/state';\r\nimport { map } from 'rxjs/operators';\r\nimport { configureScope } from '@sentry/core';\r\nimport { applyTheme } from 'resources/utilities/apply-theme';\r\nimport { Api } from 'components/top-nav/api';\r\nimport { addDeviceTokenForUser } from 'resources/device-token-manager';\r\nimport { parseJwt } from 'resources/parse-jwt';\r\nimport { ResetPasswordEndpoint } from 'endpoints/auth/reset-password-endpoint';\r\nimport { SsoCallbackEndpoint } from 'endpoints/auth/sso-callback-endpoint';\r\nimport { IaToastMessage } from 'resources/services/ia-toast-service';\r\nimport { PublicClientApplication } from '@azure/msal-browser';\r\nimport { ClaimsService } from 'resources/services/claims-service';\r\n\r\n@autoinject()\r\nexport class Login {\r\n styles = styles;\r\n public validationController: ValidationController;\r\n\r\n public showUserNamePasswordError: boolean;\r\n public showPasswordExpiredError: boolean;\r\n public showTwoFactorError: boolean;\r\n\r\n public resetPasswordBtnText = 'buttonLabels:login.resetPassword';\r\n public forgotPassword = false;\r\n public username = '';\r\n public password = '';\r\n public passwordResetEmail = '';\r\n public showForgotPasswordFields = true;\r\n public currentYear: number = new Date().getFullYear();\r\n public appClientType: CountryCode;\r\n public appClientInstance: string;\r\n public allowLocaleChangeOnLogin: boolean = environment.allowLocaleChangeOnLogin;\r\n public loading = false;\r\n public microsoftErrorMessage: string = '';\r\n\r\n public showTwoFactor = false;\r\n public forceTwoFactorSetup = false;\r\n public forceTwoFactorCodeRequest = false;\r\n public twoFactorAccepted = false;\r\n public processingTwoFactorAuthentication = false;\r\n\r\n public twoFactorAuthModel = {\r\n isInitialSetupFlag: false,\r\n qrCodeImage: '',\r\n manualSetupKey: '',\r\n totpCode: '',\r\n };\r\n\r\n public setFocus = false;\r\n\r\n constructor(\r\n private tokenService: TokenService,\r\n private au: Aurelia,\r\n private validationControllerFactory: ValidationControllerFactory,\r\n private toast: IaToastService,\r\n private router: AppRouter,\r\n private http: HttpClient,\r\n private api: Api,\r\n private store: Store,\r\n private endpoint: ResetPasswordEndpoint,\r\n private ssoCallbackEndpoint: SsoCallbackEndpoint,\r\n private claimsService: ClaimsService,\r\n ) {\r\n this.validationController = this.validationControllerFactory.createForCurrentScope();\r\n this.validationController.addRenderer(new FormValidationRenderer());\r\n }\r\n\r\n async bind() {\r\n if (localStorage.getItem('theme')) {\r\n applyTheme(localStorage.getItem('theme'));\r\n }\r\n\r\n this.store.state.pipe(map((x) => x.appClientType)).subscribe((appClientType: CountryCode) => {\r\n if (appClientType) {\r\n this.appClientType = appClientType;\r\n document.title = this.appClientType === 'AU' ? 'Aurora' : 'iBroker';\r\n }\r\n });\r\n\r\n this.store.state.pipe(map(x => x.appClientInstance)).subscribe((appClientInstance: string) => {\r\n if (appClientInstance) {\r\n this.appClientInstance = appClientInstance;\r\n }\r\n });\r\n }\r\n\r\n async activate() {\r\n this.initializeValidation();\r\n }\r\n\r\n initializeValidation() {\r\n ValidationRules.off(this);\r\n\r\n ValidationRules\r\n .ensure((x: any) => x.username)\r\n .required()\r\n .when((x: any) => !x.forgotPassword)\r\n .email()\r\n .ensure((x: any) => x.password)\r\n .required()\r\n .when((x: any) => !x.forgotPassword)\r\n .ensure((x: any) => x.passwordResetEmail)\r\n .required()\r\n .when((x: any) => x.forgotPassword)\r\n .email()\r\n .on(this);\r\n\r\n ValidationRules.ensure((x: any) => x.totpCode)\r\n .required()\r\n .on(this.twoFactorAuthModel);\r\n }\r\n\r\n backToSignIn() {\r\n if (this.forgotPassword) {\r\n this.forgotPassword = false;\r\n }\r\n\r\n if (this.showTwoFactor) {\r\n this.showTwoFactor = false;\r\n this.setFocus = false;\r\n this.resetTwoFactorModal();\r\n }\r\n }\r\n\r\n forgotPasswordLinkClicked() {\r\n this.showUserNamePasswordError = false;\r\n this.showPasswordExpiredError = false;\r\n this.forgotPassword = true;\r\n this.showForgotPasswordFields = true;\r\n this.passwordResetEmail = '';\r\n }\r\n\r\n async passwordReset() {\r\n const itemIsValid = (await this.validationController.validate({ object: this })).valid;\r\n\r\n if (itemIsValid) {\r\n this.loading = true;\r\n\r\n const { response } = await this.endpoint.fetch(null, { emailAddress: this.passwordResetEmail });\r\n\r\n if (response.ok) {\r\n this.showForgotPasswordFields = false;\r\n } else {\r\n this.showForgotPasswordFields = true;\r\n }\r\n\r\n this.loading = false;\r\n }\r\n }\r\n\r\n public createUserRequestObject(): User {\r\n return {\r\n appClientType: this.appClientType,\r\n appClientInstance: this.appClientInstance,\r\n username: this.username,\r\n password: this.password,\r\n };\r\n }\r\n\r\n public async handleTwoFactorSetup() {\r\n const twoFactorSetup = await this.api.setupTwoFactorAuthentication();\r\n\r\n this.twoFactorAuthModel.isInitialSetupFlag = true;\r\n this.twoFactorAuthModel.qrCodeImage = twoFactorSetup.qrCodeImage;\r\n this.twoFactorAuthModel.manualSetupKey = twoFactorSetup.manualSetupKey;\r\n this.twoFactorAuthModel.totpCode = '';\r\n\r\n this.showTwoFactor = true;\r\n this.setFocus = true;\r\n this.forceTwoFactorSetup = true;\r\n\r\n this.loading = false;\r\n }\r\n\r\n public handleTwoFactorCodeRequest() {\r\n this.twoFactorAuthModel.isInitialSetupFlag = false;\r\n this.twoFactorAuthModel.qrCodeImage = '';\r\n this.twoFactorAuthModel.manualSetupKey = '';\r\n this.twoFactorAuthModel.totpCode = '';\r\n\r\n this.showTwoFactor = true;\r\n this.setFocus = true;\r\n this.forceTwoFactorCodeRequest = true;\r\n\r\n this.loading = false;\r\n }\r\n\r\n public clearMicrosoftError() {\r\n this.microsoftErrorMessage = '';\r\n }\r\n\r\n async handleError(e) {\r\n this.loading = false;\r\n\r\n if (e instanceof Response) {\r\n const serverErrors = await this.parseServerError(e);\r\n\r\n if (this.isPasswordExpired(serverErrors)) {\r\n this.showPasswordExpiredError = true;\r\n return;\r\n }\r\n\r\n if (this.isInvalidCredentialsError(serverErrors)) {\r\n this.showUserNamePasswordError = true;\r\n return;\r\n }\r\n } else {\r\n console.error('Error is not a server response', e);\r\n }\r\n }\r\n\r\n async parseServerError(response: Response) {\r\n try {\r\n return await response.json();\r\n } catch (error) {\r\n console.error('Error parsing server response', error);\r\n }\r\n }\r\n\r\n isPasswordExpired(serverErrors) {\r\n return 'password' in serverErrors && serverErrors.password?.toString().includes('expired');\r\n }\r\n\r\n isInvalidCredentialsError(serverErrors) {\r\n return 'SignIn' in serverErrors && serverErrors.SignIn?.toString().includes('Credentials Invalid');\r\n }\r\n\r\n async login() {\r\n const req: User = this.createUserRequestObject();\r\n\r\n const itemIsValid = (await this.validationController.validate({ object: this })).valid;\r\n\r\n if (itemIsValid) {\r\n try {\r\n this.showUserNamePasswordError = false;\r\n this.showPasswordExpiredError = false;\r\n\r\n this.loading = true;\r\n await this.tokenService.createAuthToken(req);\r\n this.claimsService.reset();\r\n\r\n if (\r\n localStorage.getItem('twoFactorSetupRequired') &&\r\n localStorage.getItem('twoFactorSetupRequired') === 'true'\r\n ) {\r\n this.handleTwoFactorSetup();\r\n } else if (\r\n localStorage.getItem('twoFactorCodeRequired') &&\r\n localStorage.getItem('twoFactorCodeRequired') === 'true'\r\n ) {\r\n this.handleTwoFactorCodeRequest();\r\n } else {\r\n await this.processPostLogin();\r\n }\r\n } catch (e) {\r\n await this.handleError(e);\r\n }\r\n }\r\n }\r\n\r\n async loginWithMicrosoft() {\r\n const clientId = process.env.MSAL_CLIENT_ID;\r\n const tenantId = process.env.MSAL_TENANT_ID || 'common';\r\n // every origin the app is served from is registered as an SPA redirect URI in Entra\r\n const redirectUri = window.location.origin;\r\n\r\n if (!clientId) {\r\n // this.toast.error(new IaToastMessage('Microsoft sign-in is not configured. Please set MSAL_CLIENT_ID.'));\r\n this.microsoftErrorMessage = 'Microsoft sign-in is not configured. Please set MSAL_CLIENT_ID.';\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n try {\r\n const msalClient = new PublicClientApplication({\r\n auth: {\r\n clientId,\r\n authority: `https://login.microsoftonline.com/${tenantId}`,\r\n redirectUri,\r\n },\r\n cache: {\r\n cacheLocation: 'sessionStorage',\r\n storeAuthStateInCookie: false,\r\n },\r\n });\r\n\r\n await msalClient.initialize();\r\n const result = await msalClient.loginPopup({\r\n scopes: ['openid', 'profile', 'email'],\r\n });\r\n\r\n if (result?.account?.username) {\r\n this.username = result.account.username;\r\n }\r\n\r\n // exchange the Microsoft id_token for an Aurora JWT - the auth server validates it against\r\n // Entra's signing keys, maps the role and provisions the user\r\n const { data } = await this.ssoCallbackEndpoint.fetch(null, {\r\n id_token: result.idToken,\r\n app_client_type: this.appClientType,\r\n app_client_instance: this.appClientInstance,\r\n });\r\n\r\n this.tokenService.saveToken(data, localStorage);\r\n this.claimsService.reset();\r\n\r\n try {\r\n await this.processPostLogin();\r\n } catch (routeError) {\r\n console.error('Post-login processing failed after Microsoft sign-in', routeError);\r\n\r\n // Fallback: still switch to shell if metadata check fails.\r\n this.router.reset();\r\n this.router.deactivate();\r\n this.au.setRoot(PLATFORM.moduleName('shell/shell'));\r\n }\r\n } catch (error) {\r\n this.microsoftErrorMessage = 'Microsoft authentication failed. Please try again.';\r\n console.error('Microsoft sign-in error', error);\r\n } finally {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async processTwoFactorAuthentication() {\r\n //TODO - validation\r\n // clear any server errors since Update Password was last clicked\r\n // this.pageErrors = [];\r\n //const validate = await this.validationController.validate();\r\n\r\n const itemIsValid = (await this.validationController.validate({ object: this.twoFactorAuthModel })).valid;\r\n\r\n if (itemIsValid) {\r\n this.processingTwoFactorAuthentication = true;\r\n this.showTwoFactorError = false;\r\n\r\n try {\r\n const result = await this.api.validateTotpCode(this.twoFactorAuthModel);\r\n\r\n if (result) {\r\n this.twoFactorAccepted = true;\r\n this.twoFactorAuthModel.isInitialSetupFlag = false;\r\n this.twoFactorAuthModel.qrCodeImage = '';\r\n this.twoFactorAuthModel.manualSetupKey = '';\r\n this.twoFactorAuthModel.totpCode = '';\r\n localStorage.removeItem('twoFactorSetupRequired');\r\n localStorage.removeItem('twoFactorCodeRequired');\r\n\r\n const token = this.tokenService.getAuthToken();\r\n const emailAddress = parseJwt(token).sub;\r\n addDeviceTokenForUser(emailAddress, result.deviceToken);\r\n\r\n await this.processPostLogin();\r\n } else {\r\n this.showTwoFactorError = true;\r\n this.toast.destroyAllToasts();\r\n }\r\n\r\n this.processingTwoFactorAuthentication = false;\r\n } catch (e) {\r\n this.processingTwoFactorAuthentication = false;\r\n this.twoFactorAccepted = false;\r\n this.showTwoFactorError = true;\r\n }\r\n }\r\n }\r\n\r\n async resetTwoFactorModal() {\r\n //TODO - validation\r\n this.validationController.reset();\r\n this.processingTwoFactorAuthentication = false;\r\n this.showTwoFactor = false;\r\n this.twoFactorAccepted = false;\r\n this.showTwoFactorError = false;\r\n try {\r\n if (this.forceTwoFactorSetup) {\r\n // Delete user's key so they can try setting up again\r\n const result = await this.api.resetTwoFactorSetupForCurrentUser();\r\n }\r\n\r\n this.twoFactorAuthModel.qrCodeImage = '';\r\n this.twoFactorAuthModel.manualSetupKey = '';\r\n this.twoFactorAuthModel.totpCode = '';\r\n\r\n this.toast.destroyAllToasts();\r\n this.tokenService.removeToken();\r\n } catch (e) {\r\n this.processingTwoFactorAuthentication = false;\r\n }\r\n }\r\n\r\n async processPostLogin() {\r\n configureScope((scope) => {\r\n scope.setUser({\r\n email: this.username,\r\n appClientType: this.appClientType,\r\n appClientInstance: this.appClientInstance,\r\n });\r\n });\r\n\r\n if (!window.location.href.includes('localhost')) {\r\n const url = `/index_${this.appClientType.toLowerCase()}_${this.appClientInstance.toLowerCase()}.html`;\r\n\r\n await this.http\r\n .fetch(url, {\r\n method: 'HEAD',\r\n })\r\n .then((response) => {\r\n const lastModified = response.headers.get('Last-modified');\r\n if (lastModified !== null) {\r\n localStorage.setItem('indexLastModified', lastModified);\r\n }\r\n });\r\n }\r\n\r\n // Reset the router before switching the root or we encounter routing problems\r\n this.router.reset();\r\n this.router.deactivate();\r\n this.au.setRoot(PLATFORM.moduleName('shell/shell'));\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent, type: 'sign-in' | '2FA'): boolean {\r\n if (event.which === 13) {\r\n if (type === 'sign-in') {\r\n this.login();\r\n }\r\n\r\n if (type === '2FA') {\r\n this.processTwoFactorAuthentication();\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n"],"names":["___HTML_LOADER_IMPORT_0___","URL","code","tokenService","au","validationControllerFactory","toast","router","http","api","store","endpoint","ssoCallbackEndpoint","claimsService","styles","resetPasswordBtnText","forgotPassword","username","password","passwordResetEmail","showForgotPasswordFields","currentYear","Date","getFullYear","allowLocaleChangeOnLogin","environment","loading","microsoftErrorMessage","showTwoFactor","forceTwoFactorSetup","forceTwoFactorCodeRequest","twoFactorAccepted","processingTwoFactorAuthentication","twoFactorAuthModel","isInitialSetupFlag","qrCodeImage","manualSetupKey","totpCode","setFocus","this","validationController","createForCurrentScope","addRenderer","bind","localStorage","getItem","state","pipe","map","x","appClientType","subscribe","document","title","appClientInstance","activate","initializeValidation","ValidationRules","required","when","email","ensure","on","backToSignIn","resetTwoFactorModal","forgotPasswordLinkClicked","showUserNamePasswordError","showPasswordExpiredError","passwordReset","validate","object","valid","fetch","emailAddress","ok","createUserRequestObject","handleTwoFactorSetup","setupTwoFactorAuthentication","twoFactorSetup","handleTwoFactorCodeRequest","clearMicrosoftError","handleError","e","Response","parseServerError","serverErrors","isPasswordExpired","isInvalidCredentialsError","console","error","response","json","toString","includes","SignIn","login","req","createAuthToken","reset","processPostLogin","loginWithMicrosoft","clientId","tenantId","redirectUri","window","location","origin","msalClient","PublicClientApplication","auth","authority","cache","cacheLocation","storeAuthStateInCookie","initialize","loginPopup","scopes","result","account","id_token","idToken","app_client_type","app_client_instance","data","saveToken","deactivate","setRoot","processTwoFactorAuthentication","showTwoFactorError","validateTotpCode","removeItem","token","getAuthToken","sub","deviceToken","destroyAllToasts","resetTwoFactorSetupForCurrentUser","removeToken","scope","setUser","href","url","toLowerCase","method","then","lastModified","headers","get","setItem","handleKeyDown","event","type","which","autoinject","Aurelia","ValidationControllerFactory","Store","Login"],"sourceRoot":""}
${currentYear} © AUB BrokerTech Services Pty Limited