var UserPoolId = 'us-east-1_TuozR9j2Y' var ClientId = '582vpnerq19genvm8072o2dtcn' var IdentityPoolId = 'us-east-1:7263d682-87e9-43ff-bada-16f23180ef33' var poolData = { UserPoolId : UserPoolId, ClientId : ClientId }; var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData); var CredentialLoginUrl = 'cognito-idp.us-east-1.amazonaws.com/' + UserPoolId var QueryString = function () { var query_string = {}; var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i' // console.log(content) var popover = $('#signInLink').attr('data-content', content).data('bs.popover'); // if (!popover) { // alert('here') // } popover.setContent(); popover.$tip.addClass(popover.options.placement); popover.show() window.mainContent = '#popoverContent' } } function showSignIn(){ window.doModals = false showContent('#user_password') getContent('input[name=inputEmail]').keypress(function(e){ if (e.charCode === 13) { getContent('button[name=loginButton]').click() } }) getContent('input[name=inputPassword]').keypress(function(e){ if (e.charCode === 13) { getContent('button[name=loginButton]').click() } }) } function showInputVerificationCode(){ showContent('#forgot_enter_email') } function forgotPasswordCodeEntry(){ var email = getContent('input[name=inputEmailForgot]')[0].value var userData = { Username : email, Pool : userPool }; var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData); cognitoUser.forgotPassword({ onSuccess: function () { showContent('#password_congrats') getContent('button[name=congratsButton]').on('click',function(){ closeAll() }) // getContent('button[name=submitButton]').on('click',function(){ // var password = getContent('input[name=inputPassword1]')[0].value // cognitoUser.confirmPassword(code, password, self) // }) }, onFailure: function(err) { console.log('ERROR:') console.log(err) alert('There was an failure in the "forgot password" function'); }, inputVerificationCode: function(data) { var self = this showContent('#code_entry') getContent('button[name=submitCodeButton]').on('click',function(){ var code = getContent('input[name=codeSubmit]')[0].value showContent('#password_change') getContent('button[name=submitButton]').on('click',function(){ var password = getContent('input[name=inputPassword1]')[0].value cognitoUser.confirmPassword(code, password, self) }) }) } }); } function showReset(){ showContent('#forgot_enter_email') } function reset() { var email = prompt('Please enter your email').toLowerCase() var userData = { Username : email, Pool : userPool }; var cognitoUser = new AmazonCognitoIdentity.AmazonCognitoIdentityCognitoUser(userData); cognitoUser.forgotPassword({ onSuccess: function(){ console.log('reset done') }, onFailure: function(err){ console.log(err) }, inputVerificationCode: function(data) { console.log('Code sent to: ' + data); var verificationCode = prompt('Please check your email and enter the verification code here: ' ,''); var newPassword = prompt('Enter new password ' ,''); console.log('password: _' + newPassword + '_') cognitoUser.confirmPassword(verificationCode, newPassword, this); alert('Password reset complete') } }) } function register(email, password, cb){ var email = email.toLowerCase() var attributeList = []; var dataEmail = { Name : 'email', Value : email }; var attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail); attributeList.push(attributeEmail); userPool.signUp(email, password, attributeList, null, function(err, result){ if (err) { console.log('ERROR:') console.log(err) alert('There was an error in userpool signup'); return; } cognitoUser = result.user; cb() }); } function confirm(email, code){ email = email.toLowerCase() var userData = { Username : email, Pool : userPool }; var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData); cognitoUser.confirmRegistration(code, true, function(err, result) { console.log('ERROR:') console.log(err) if (err) { alert('There was an error in registration confirmation'); return; } console.log('call result: ' + result); if (result === 'SUCCESS') { showContent('#password_congrats') getContent('button[name=congratsButton]').on('click',function(){ closeAll() }) } }); } function maskSpin(btn){ $(btn).append('') $(btn).addClass('disabled') } function maskSpinOff(btn) { $(btn).find('span').remove() $(btn).removeClass('disabled') } function doLogin(btn){ maskSpin(btn) authenticate(getContent('input[name=inputEmail]')[0].value, getContent('input[name=inputPassword]')[0].value) } function authenticate(user, pass){ if (window.location.href.indexOf('test.zapitmedical.com') !== -1) { var allowed = { 'alan.barber@improving.com': 1, 'pete@zapitmedical.com' : 1, 'bmurray@zapitmedical.com': 1, 'nseiler@zapitmedical.com': 1, 'nick1@zapitmedical.com': 1, 'nick2@zapitmedical.com': 1, 'nick3@zapitmedical.com': 1, 'nick4@zapitmedical.com': 1, 'nick5@zapitmedical.com': 1, 'nick6@zapitmedical.com': 1, 'nick7@zapitmedical.com': 1, 'nick8@zapitmedical.com': 1, 'nick9@zapitmedical.com': 1, 'nick10@zapitmedical.com': 1, 'lisa@zapitmedical.com': 1, 'shachtel@ohiomedphys.com': 1, 'nseiler@ohiomedphys.com': 1, 'pete@bluecampaigns.com': 1, 'testnoauth@email.com': 1, 'chahn010@gmail.com': 1, 'bmurray@ohiomedphys.com': 1, 'mseiler2212@gmail.com': 1, 'autotestauth@email.com': 1, 'msupeck@zapitmedical.com': 1, 'amurphy@zapitmedical.com': 1 } if (!allowed[user]) { alert('You are not authorized to login to the test server') return } } user = user.toLowerCase() $('#user_password #incorrectUsernamePass').css('display','none') var authenticationData = { Username : user, Password : pass }; var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData); var userData = { Username : user, Pool : userPool }; var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData); window.cognitoUser = cognitoUser cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function (result) { localStorage.setItem('idToken',result.getIdToken().getJwtToken()) window.location = '/app/index.html' // window.idToken = result.getIdToken().getJwtToken() // console.log('access token + ' + result.getAccessToken().getJwtToken()); // // var hash = {}; // hash[CredentialLoginUrl] = result.getIdToken().getJwtToken() // // console.log(hash) // var credentials = new AWS.CognitoIdentityCredentials({ // IdentityPoolId : IdentityPoolId, // Logins : hash // }); // console.log(credentials) }, onFailure: function(err) { // alert('failure!') // $('[data-toggle="popover"]').popover('destroy'); maskSpinOff(getContent('button[name=loginButton]')) // alert('Beginning April 11, 2017 we have instituted a new security protocol. Please reset your password to continue.') console.log(err) console.log(typeof err) window.doModals = true var cb = function(){ showContent('#code_entry') getContent('button[name=submitCodeButton]').on('click',function(){ var code = getContent('input[name=codeSubmit]')[0].value confirm(user, code) }) } if (err.message.indexOf('does not exist') !== -1) { showContent('#password_change') getContent('button[name=submitButton]').on('click',function(){ var password = getContent('input[name=inputPassword1]')[0].value register(user, password, cb) }) getContent('div[name=resetExplanationMsg]').css('display','block') } else if (err.message.indexOf('User is not confirmed') !== -1) { cb() } else if (err.message.indexOf('Incorrect username or password') !== -1) { // alert('test') getContent('div[name=incorrectUsernamePass]').css('display','block') } else if (err.message.indexOf('Password reset required for the user') !== -1) { showReset() } // if (err === 'Error: User account has expired, it must be reset by an administrator.') { // // } // alert(err) // console.log(err) // alert(err); }, newPasswordRequired: function(userAttributes, requiredAttributes){ var newPassword = prompt('Please enter a new password ' ,''); cognitoUser.completeNewPasswordChallenge(newPassword, null, this); } }); } function validatePassword(pass1, pass2){ if (typeof pass1 === 'undefined' || typeof pass2 === 'undefined') { return } var hash = {valid: true} var hasCap = false var hasLow = false var hasNum = false for (var i = 0; i < pass1.length; i++) { if (!isNaN(pass1.charAt(i))) { hasNum = true } else { if (pass1.charAt(i) === pass1.charAt(i).toUpperCase()) { hasCap = true } if (pass1.charAt(i) === pass1.charAt(i).toLowerCase()){ hasLow = true } } } if (pass1 !== pass2) { hash = {valid: false, msg: 'Passwords do not match'} } else if (pass1.length < 8) { hash = {valid: false, msg: 'Password is not at least 8 characters'} } else if (hasCap === false) { hash = {valid: false, msg: 'Password does not contain an upper-case letter'} } else if (hasLow === false) { hash = {valid: false, msg: 'Password does not contain a lower-case letter'} } else if (hasNum === false) { hash = {valid: false, msg: 'Password does not contain a number'} } if (hash.valid === false) { $('#pwdValidMsg').html(hash.msg) } else { $('#pwdValidMsg').html('') } $('#password_change button').prop('disabled', !hash.valid) } function signup(form){ var obj = { firstname: form.firstname.value, lastname: form.lastname.value, email: form.email.value.toLowerCase() } window.location = '/signup.html?' + $.param(obj) } function sendMessage() { var obj = { name: document.getElementById('contact_name').value, email: document.getElementById('contact_email').value, message: document.getElementById('contact_message').value } var prefix if (window.location.href.indexOf('test.zapitmedical.com') !== -1) { prefix = 'https://test-api-5.zapitmedical.com/test' } else if (window.location.host === 'zapitmedical.com' || window.location.host === 'www.zapitmedical.com') { prefix = 'https://api3.zapitmedical.com/prod' } var url = prefix + '/web_send_email?name=' + obj.name + '&email=' + obj.email + '&message=' + obj.message; $.get(url,function(data, status, xhr){ console.log(data) console.log(status) console.log(xhr) }) .done(function(){ console.log('done') }) .fail(function(){ document.getElementById('contact_submit_button').innerHTML = '
Thank you - someone will contact you within 24 hours' }) } $(document).ready(function () { $('#user_password').on('shown.bs.modal', function () { $('#user_password #inputEmail').focus() }) $('#inputPassword1').keyup(function(){ validatePassword($('#inputPassword1')[0].value, $('#inputPassword2')[0].value) }); $('#inputPassword2').keyup(function(){ validatePassword($('#inputPassword1')[0].value, $('#inputPassword2')[0].value) }); console.log($('[data-toggle="popover"]')) $('[data-toggle="popover"]').popover({ html: true, content: 'placeholder' }); });