mirror of
https://github.com/xfarrow/blink
synced 2025-06-27 09:03:02 +02:00
Activation completed
This commit is contained in:
@ -8,6 +8,7 @@ LIMITER_MAXIMUM_PER_WINDOW = 5000 # Requests for each limiter window
|
||||
SMTP_USERNAME = blink@ik.me # Fill only if NEEDS_EMAIL_VERIFICATION is true
|
||||
SMTP_PASSWORD = your_password # Fill only if NEEDS_EMAIL_VERIFICATION is true
|
||||
SMTP_PORT = 465 # Fill only if NEEDS_EMAIL_VERIFICATION is true
|
||||
FRONT_END_URL = http://localhost # Primary fron-end's root URL
|
||||
|
||||
# Database settings
|
||||
POSTGRES_SERVER = localhost
|
||||
|
@ -76,8 +76,7 @@ async function registerPerson(req, res) {
|
||||
req.body.qualification);
|
||||
await personModel.registerPerson(personToInsert, activationLink);
|
||||
if (process.env.NEEDS_EMAIL_VERIFICATION === 'true') {
|
||||
// TODO generalize
|
||||
mailUtils.sendConfirmationLink(req.body.email, 'http://localhost:3000/api/persons/me/activation?q=' + activationLink);
|
||||
mailUtils.sendConfirmationLink(req.body.email, activationLink);
|
||||
}
|
||||
|
||||
return res.status(200).json({
|
||||
@ -308,7 +307,7 @@ async function confirmActivation(req, res) {
|
||||
errors: errors.array()
|
||||
});
|
||||
}
|
||||
const personId = await activationModel.getPersonIdByIdentifier(req.query.q);
|
||||
const personId = await activationModel.getPersonIdByIdentifier(req.body.code);
|
||||
if (!personId) {
|
||||
return res.status(401).json({
|
||||
error: 'Activation Link either not valid or expired'
|
||||
@ -330,7 +329,7 @@ const publicRoutes = express.Router(); // Routes not requiring token
|
||||
publicRoutes.post('/persons', personValidator.registerValidator, registerPerson);
|
||||
publicRoutes.post('/persons/me/token', personValidator.getTokenValidator, createTokenByEmailAndPassword);
|
||||
publicRoutes.get('/persons/:id/details', getPerson);
|
||||
publicRoutes.get('/persons/me/activation', personValidator.confirmActivationValidator, confirmActivation);
|
||||
publicRoutes.post('/persons/me/activation', personValidator.confirmActivationValidator, confirmActivation);
|
||||
|
||||
const protectedRoutes = express.Router(); // Routes requiring token
|
||||
protectedRoutes.use(jwtUtils.verifyToken);
|
||||
|
@ -9,7 +9,8 @@ let transporter = nodemailer.createTransport({
|
||||
}
|
||||
});
|
||||
|
||||
function sendConfirmationLink(destinationEmail, confirmationLink) {
|
||||
function sendConfirmationLink(destinationEmail, code) {
|
||||
const confirmationLink = `${process.env.FRONT_END_URL}/activate-account.html?q=${code}`
|
||||
let mailOptions = {
|
||||
from: `"Blink" ${process.env.SMTP_USERNAME}`,
|
||||
to: destinationEmail,
|
||||
|
@ -66,7 +66,7 @@ const updatePersonValidator = [
|
||||
];
|
||||
|
||||
const confirmActivationValidator = [
|
||||
check('q').trim().escape()
|
||||
check('code').trim().escape()
|
||||
]
|
||||
|
||||
module.exports = {
|
||||
|
Reference in New Issue
Block a user