1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-12-22 23:35:46 +01:00

Make login work when sessionStorage is not available.

Thanks to Ralf Treinen for pointing out the issue.
This commit is contained in:
Juliusz Chroboczek 2020-09-10 15:28:24 +02:00
parent 4bdd7c7665
commit 517d7edbc8

View file

@ -11,18 +11,31 @@ let group;
/** @type {ServerConnection} */
let serverConnection;
/* Some browsers disable session storage when cookies are disabled,
we fall back to a global variable. */
let fallbackUserPass = null;
function setUserPass(username, password) {
window.sessionStorage.setItem(
'userpass',
JSON.stringify({username: username, password: password}),
);
let userpass = {username: username, password: password};
try {
window.sessionStorage.setItem('userpass', JSON.stringify(userpass));
fallbackUserPass = null;
} catch(e) {
console.warn("Couldn't store password:", e);
fallbackUserPass = {username: username, password: password};
}
}
function getUserPass() {
let userpass = window.sessionStorage.getItem('userpass');
if(!userpass)
return null;
return JSON.parse(userpass);
let userpass;
try {
let json = window.sessionStorage.getItem('userpass');
userpass = JSON.parse(json);
} catch(e) {
console.warn("Couldn't retrieve password:", e);
userpass = fallbackUserPass;
}
return userpass || null;
}
function getUsername() {