Skip to content

Commit

Permalink
minor improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
david-loe committed Oct 5, 2024
1 parent 54d11c2 commit 9b5627d
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 13 deletions.
4 changes: 2 additions & 2 deletions backend/authStrategies/magiclogin.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import jwt from 'jsonwebtoken'
import { default as MagicLoginStrategy } from 'passport-magic-login'
import MagicLoginStrategy from 'passport-magic-login'
import { escapeRegExp } from '../../common/scripts.js'
import { NotAllowedError } from '../controller/error.js'
import i18n from '../i18n.js'
Expand All @@ -9,7 +9,7 @@ import User from '../models/user.js'
const secret = process.env.MAGIC_LOGIN_SECRET
const callbackUrl = process.env.VITE_BACKEND_URL + '/auth/magiclogin/callback'
const jwtOptions = {
expiresIn: 1000 * 60 * 120 // 120min
expiresIn: 60 * 120 // in seconds -> 120min
}

export default new MagicLoginStrategy.default({
Expand Down
5 changes: 4 additions & 1 deletion backend/controller/authController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ const magicloginCallbackHandler = useMagicLogin
let redirect: any
if (req.query.token) {
const token = jwt.decode(req.query.token as string) as jwt.JwtPayload
redirect = token.redirect
const redirectPath = token.redirect
if (redirectPath && typeof redirectPath === 'string' && redirectPath.startsWith('/')) {
redirect = redirectPath
}
}
passport.authenticate('magiclogin', {
failureRedirect: process.env.VITE_FRONTEND_URL + '/login' + (redirect ? '?redirect=' + redirect : '')
Expand Down
19 changes: 10 additions & 9 deletions backend/mail/mail.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,33 +18,34 @@ import mailClient from './client.js'
export async function sendMail(
recipients: IUser[],
subject: string,
paragaph: string,
paragraph: string,
button: { text: string; link: string },
lastParagraph: string,
authenticateLink = true
) {
for (let i = 0; i < recipients.length; i++) {
const language = recipients[i].settings.language
if (authenticateLink && recipients[i].fk.magiclogin && button.link.startsWith(process.env.VITE_FRONTEND_URL)) {
button.link = await genAuthenticatedLink({
const recipientButton = { ...button }
if (authenticateLink && recipients[i].fk.magiclogin && recipientButton.link.startsWith(process.env.VITE_FRONTEND_URL)) {
recipientButton.link = await genAuthenticatedLink({
destination: recipients[i].fk.magiclogin!,
redirect: button.link.substring(process.env.VITE_FRONTEND_URL.length)
redirect: recipientButton.link.substring(process.env.VITE_FRONTEND_URL.length)
})
}
_sendMail(recipients[i], subject, paragaph, button, lastParagraph, language)
_sendMail(recipients[i], subject, paragraph, recipientButton, lastParagraph, language)
}
}

function _sendMail(
recipient: IUser,
subject: string,
paragaph: string,
paragraph: string,
button: { text: string; link: string },
lastParagraph: string,
language: Locale
) {
if (mailClient == undefined) {
return false
return
}
const salutation = i18n.t('mail.hiX', { lng: language, X: recipient.name.givenName })
const regards = i18n.t('mail.regards', { lng: language })
Expand All @@ -56,7 +57,7 @@ function _sendMail(
const template = fs.readFileSync('./templates/mail.ejs', { encoding: 'utf-8' })
const renderedHTML = ejs.render(template, {
salutation,
paragaph,
paragraph,
button,
lastParagraph,
regards,
Expand All @@ -65,7 +66,7 @@ function _sendMail(
const plainText =
salutation +
'\n\n' +
paragaph +
paragraph +
'\n\n' +
button.text +
': ' +
Expand Down
2 changes: 1 addition & 1 deletion backend/templates/mail.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@
<tr>
<td>
<p><%= salutation %></p>
<p><%= paragaph %></p>
<p><%= paragraph %></p>
<table role="presentation" border="0" cellpadding="0" cellspacing="0" class="btn btn-primary">
<tbody>
<tr>
Expand Down

0 comments on commit 9b5627d

Please sign in to comment.