68 lines
2 KiB
JavaScript
68 lines
2 KiB
JavaScript
|
|
import {
|
|
generateOTPQRCode
|
|
} from "../../lib/otp.mjs";
|
|
|
|
|
|
export const get = async function(request, response) {
|
|
if (request.getAuthState() != 'authenticated') {
|
|
response.redirect('/login');
|
|
return;
|
|
}
|
|
|
|
let dbUser = await request.getUser();
|
|
|
|
switch (request.params.page) {
|
|
case 'personal':
|
|
response.render(`views/profile.njk`, {
|
|
page: 'profile/personal',
|
|
user: {
|
|
firstName: dbUser.givenname,
|
|
lastName: dbUser.sn,
|
|
mail: dbUser.mail,
|
|
},
|
|
data: {
|
|
firstName: dbUser.givenname,
|
|
lastName: dbUser.sn,
|
|
mail: dbUser.mail,
|
|
}
|
|
});
|
|
break;
|
|
case 'security':
|
|
response.render(`views/profile.njk`, {
|
|
page: 'profile/security',
|
|
user: {
|
|
firstName: dbUser.givenname,
|
|
lastName: dbUser.sn,
|
|
mail: dbUser.mail,
|
|
},
|
|
otp: {
|
|
active: dbUser.otpsecret != '' ? true : false,
|
|
qrcode: await generateOTPQRCode(dbUser.mail, dbUser.otpsecret)
|
|
}
|
|
});
|
|
break;
|
|
case 'createOTPSecret':
|
|
response.render(`views/profile.njk`, {
|
|
page: 'profile/createOTPSecret',
|
|
user: {
|
|
firstName: dbUser.givenname,
|
|
lastName: dbUser.sn,
|
|
mail: dbUser.mail,
|
|
},
|
|
otp: {
|
|
active: mfaData.otpsecret != '' ? true : false,
|
|
qrcode: await generateOTPQRCode(dbUser.mail, dbUser.otpsecret)
|
|
}
|
|
});
|
|
break;
|
|
default:
|
|
response.redirect('/page/personal');
|
|
break;
|
|
}
|
|
}
|
|
|
|
export const post = async function(request, response) {
|
|
console.log(request.body);
|
|
response.redirect("/login");
|
|
}
|