Catch any unexpected error during login and return 403 (#76)

This commit is contained in:
Simon J
2021-11-08 17:26:09 +11:00
committed by GitHub
parent c804627a0a
commit bb4172acf4
2 changed files with 41 additions and 13 deletions

View File

@@ -219,28 +219,35 @@ function server(
const lang = langFor(req);
const { username, password, linkCode } = req.body;
if (!linkCodes.has(linkCode)) {
res.status(400).render("failure", {
return res.status(400).render("failure", {
lang,
message: lang("invalidLinkCode"),
});
} else {
const authResult = await musicService.generateToken({
return musicService.generateToken({
username,
password,
});
if (isSuccess(authResult)) {
linkCodes.associate(linkCode, authResult);
res.render("success", {
lang,
message: lang("loginSuccessful"),
});
} else {
res.status(403).render("failure", {
}).then(authResult => {
if (isSuccess(authResult)) {
linkCodes.associate(linkCode, authResult);
return res.render("success", {
lang,
message: lang("loginSuccessful"),
});
} else {
return res.status(403).render("failure", {
lang,
message: lang("loginFailed"),
cause: authResult.message,
});
}
}).catch(e => {
return res.status(403).render("failure", {
lang,
message: lang("loginFailed"),
cause: authResult.message,
cause: `Unexpected error occured - ${e}`,
});
}
});
}
});