{"version":3,"sources":["oktaUtility.js"],"names":["loadOktaSign","oktaDomain","oktaClientId","oktaRedirectUri","oktaRequestContext","OktaSignIn","el","baseUrl","clientId","i18n","en","primaryauth.title","oie.remember","errors.E0000004","redirectUri","authParams","pkce","responseType","features","idpDiscovery","requestContext","IsSessionExist","iDPEmailDomainList","signIn","authClient","session","exists","then","SpinnerSpin","gettokenDetails","on","context","controller","inputElement","document","getElementById","addEventListener","event","console","log","email","value","isIDP","isIDPDomain","querySelector","classList","add","remove","startUserSignIn","emailDomain","split","undefined","includes","token","getWithoutPrompt","res","tokens","tokenManager","setTokens","accessTokenField","$","val","accessToken","form","parent","submit","err","ClearOktaSessions","message","showSignInToGetTokens","scopes","error","logOutFromOkta","oktaToken","localStorage","getItem","clear","window","removeItem","sessionStorage","close","location","isTokenNotExist","css","removeClass","SpinnerStop","addClass","ShowUserNotExistsError","show","html","errorMessage"],"mappings":"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","file":"oktaUtility.js","sourcesContent":["function loadOktaSign(oktaDomain, oktaClientId, oktaRedirectUri, oktaRequestContext) {\r\n return new OktaSignIn({\r\n // Assumes there is an empty element on the page with an id of 'osw-container'\r\n el: '#widget',\r\n baseUrl: oktaDomain,\r\n clientId: oktaClientId,\r\n //logo: '/content/images/Beon Commerce Logo - Black.svg',\r\n\r\n i18n: {\r\n en: {\r\n 'primaryauth.title': 'Sign in with your email address',\r\n 'oie.remember': 'Remember me',\r\n 'errors.E0000004': ' Incorrect username or password',\r\n },\r\n },\r\n\r\n redirectUri: oktaRedirectUri,\r\n authParams: {\r\n pkce: false,\r\n responseType: ['id_token', 'token'],\r\n },\r\n features: {\r\n idpDiscovery: true,\r\n\r\n },\r\n idpDiscovery: {\r\n requestContext: oktaRequestContext,\r\n },\r\n });\r\n}\r\n\r\nfunction IsSessionExist(iDPEmailDomainList) {\r\n signIn.authClient.session.exists()\r\n .then(function (exists) {\r\n if (exists) {\r\n SpinnerSpin();\r\n gettokenDetails();\r\n } else {\r\n signIn.on('afterRender', function (context) {\r\n if (context.controller !== 'forgot-password') {\r\n return;\r\n }\r\n var inputElement = document.getElementById('account-recovery-username');\r\n inputElement.addEventListener('focusout', function (event) {\r\n // Handle the focusout event\r\n console.log('Element lost focus');\r\n var email = document.getElementById('account-recovery-username').value;\r\n var isIDP = isIDPDomain(email, iDPEmailDomainList);\r\n if (isIDP) {\r\n document.querySelector('[data-se=\"email-button\"]').classList.add('email-disabled');\r\n }\r\n else {\r\n document.querySelector('[data-se=\"email-button\"]').classList.remove('email-disabled');\r\n }\r\n });\r\n });\r\n startUserSignIn();\r\n }\r\n });\r\n}\r\n\r\nfunction isIDPDomain(email, iDPEmailDomainList) {\r\n var emailDomain = email.split('@')[1];\r\n if (emailDomain == undefined || emailDomain == '' || emailDomain == null) {\r\n return true;\r\n }\r\n return iDPEmailDomainList.includes('@' + emailDomain);\r\n}\r\n\r\nfunction gettokenDetails() {\r\n console.log('trying to get token from API in existing session');\r\n signIn.authClient.token.getWithoutPrompt({\r\n responseType: ['id_token', 'token'], // or array of types\r\n })\r\n .then(function (res) {\r\n var tokens = res.tokens;\r\n // Do something with tokens, such as\r\n signIn.authClient.tokenManager.setTokens(tokens);\r\n var accessTokenField = $(\"#hiddenAccessTokenField\");\r\n accessTokenField.val(tokens.accessToken.accessToken);\r\n var form = accessTokenField.parent();\r\n form.submit();\r\n\r\n })\r\n .catch(function (err) {\r\n console.log(\"Error \" + err);\r\n ClearOktaSessions(err.message);\r\n });\r\n}\r\n\r\nfunction startUserSignIn() {\r\n signIn.showSignInToGetTokens({\r\n scopes: ['openid', 'profile'] // optional\r\n }).then(function (tokens) {\r\n signIn.authClient.tokenManager.setTokens(tokens);\r\n var accessTokenField = $(\"#hiddenAccessTokenField\");\r\n accessTokenField.val(tokens.accessToken.accessToken);\r\n var form = accessTokenField.parent();\r\n form.submit();\r\n // Store tokens\r\n }).catch(function (error) {\r\n console.log(\"Error \" + error);\r\n ClearOktaSessions(error.message);\r\n });\r\n\r\n}\r\n\r\nfunction logOutFromOkta(redirectUri) {\r\n //Get okta token from local storage\r\n var oktaToken = localStorage.getItem('okta-token-storage');\r\n //If okta access token is present in localstorage then we will clear okta access token else will only clear server side session details\r\n if (oktaToken != null) {\r\n\r\n // localstorage maintains the idToken. This clear() removes it\r\n signIn.authClient.tokenManager.clear();\r\n window.localStorage.removeItem('okta-token-storage');\r\n window.sessionStorage.removeItem('idToken');\r\n $(\"#hiddenAccessTokenField\").val('');\r\n\r\n // closes session\r\n signIn.authClient.session.close()\r\n .then(function () { \r\n // Session closed successfully\r\n window.location = redirectUri;\r\n })\r\n .catch(function (error) {\r\n // Handle error\r\n window.location = redirectUri;\r\n console.log('Error closing user session:', error);\r\n ClearOktaSessions(error.message);\r\n });\r\n }\r\n}\r\n\r\nfunction isTokenNotExist() {\r\n return ($(\"#oktaAccessTokenField\").val() == null || $(\"#oktaAccessTokenField\").val() == undefined || $(\"#oktaAccessTokenField\").val() == '');\r\n}\r\n\r\nfunction SpinnerSpin() {\r\n $(\"#SpinnerContainer\").css(\"z-index\", \"999999\");\r\n $(\"#SpinnerContainer i\").removeClass(\"NoDisplay\");\r\n}\r\n\r\nfunction SpinnerStop() {\r\n $(\"#SpinnerContainer\").css(\"z-index\", \"-1\");\r\n $(\"#SpinnerContainer i\").addClass(\"NoDisplay\");\r\n}\r\n\r\nfunction ShowUserNotExistsError(message) {\r\n $(\"#validationMessageModal\").show();\r\n $(\"#validationMessageModal\").removeClass(\"fade\");\r\n $(\".validationMsg\").html(message);\r\n}\r\n\r\n//new function for vanish okta session from localstogare if its present and stop spinner --It will execute if any exception occurs in Okta screen\r\nfunction ClearOktaSessions(errorMessage) {\r\n //if (errorMessage != null && errorMessage != '') {\r\n // ShowUserNotExistsError(\"Okta Error: \" + errorMessage);\r\n //}\r\n signIn.authClient.tokenManager.clear();\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n $(\"#hiddenAccessTokenField\").val('');\r\n SpinnerStop(); \r\n}"]}