in default/cve5/portal.js [110:158]
async function portalLogin(elem, credForm) {
try {
if (!'serviceWorker' in navigator) {
cveShowError('Browser is missing required features. Try a different browser or the normal mode.')
return (false);
}
if (!credForm.checkValidity()) {
return (false);
}
elem.preventDefault();
var url = credForm.portal.value;
var portalType = credForm.portal.options[credForm.portal.selectedIndex].text;
if (csClient && csCache.url != url) {
csClient = new CveServices(url, "./static/cve5sw.js");
}
var ret = await csClient.login(
credForm.user.value,
credForm.org.value,
credForm.key.value);
var orgInfo = await csClient.getOrgInfo();
var userInfo = await csClient.getOrgUser(credForm.user.value);
csCache.user = credForm.user.value;
csCache.org = credForm.org.value;
csCache.url = url;
csCache.portalType = portalType;
csCache.orgInfo = orgInfo;
window.localStorage.setItem('cveApi', JSON.stringify(csCache));
window.localStorage.setItem('portalType', portalType);
window.localStorage.setItem('shortName', credForm.org.value);
if (ret == 'ok' || ret.data == "ok") {
csCache.keyUrl = ret.keyUrl;
await showPortalView(orgInfo, userInfo);
/* Add one hour session timeout in addition to timeout in serviceWorker */
setTimeout(portalLogout, defaultTimeout);
//announce to others that a login happened.
loginChannel.postMessage({ message: 'The user has logged in' });
} else {
document.getElementById("loginErr").innerText = 'Failed to login: Possibly invalid credentials!';
}
} catch (e) {
portalErrorHandler(e);
}
}