diff --git a/ansible/artifacts/sunbird/login/resources/js/login.js b/ansible/artifacts/sunbird/login/resources/js/login.js index d7f0107fbc5ebba5ee38e98790a0cd227e33d980..5f50ca645bd87a41a23a207dc632818d45288043 100644 --- a/ansible/artifacts/sunbird/login/resources/js/login.js +++ b/ansible/artifacts/sunbird/login/resources/js/login.js @@ -92,6 +92,8 @@ var storeValueForMigration = function () { localStorage.setItem('automerge', getValue('automerge')); localStorage.setItem('goBackUrl', getValue('goBackUrl')); localStorage.setItem('identifierValue', getValue('identifierValue')); + localStorage.setItem('identifierType', getValue('identifierType')); + localStorage.setItem('userId', getValue('userId')); }; var getValue = function (valueId) { @@ -135,9 +137,9 @@ var decoratePage = function (pageType) { if (errorElement) { if (errorElement.innerText === 'Invalid email ID/Mobile number or password. Please try again with valid credentials') { unHideElement('inCorrectPasswordError'); + handlePasswordFailure(); } elementsToHide.push('error-summary'); - //hideElement('error-summary'); } } for (var i = 0; i < elementsToHide.length; i++) { @@ -145,6 +147,18 @@ var decoratePage = function (pageType) { } } }; + +var handlePasswordFailure = function () { + var passwordFailCount = Number(localStorage.getItem('passwordFailCount') || 0); + passwordFailCount = passwordFailCount + 1; + localStorage.setItem('passwordFailCount', passwordFailCount); + if (passwordFailCount >= 2) { + const url = '/sign-in/sso/auth?status=error' + '&identifierType=' + getValue('identifierType'); + const query = '&userId=' + getValue('userId') + '&identifierValue=' + getValue('identifierValue'); + window.location.href = window.location.protocol + '//' + window.location.host + url + query; + } +}; + var unHideElement = function (elementId) { var elementToUnHide = document.getElementById(elementId); if (elementToUnHide) {