From 82399393b82300d1ea1099546950c81acec26b8f Mon Sep 17 00:00:00 2001 From: Rish Date: Thu, 24 Sep 2020 23:01:28 +0530 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20email=20verification?= =?UTF-8?q?=20mails=20not=20sent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit no issue - Email ownership verification emails for support/from address was not using the updated magic link service syntax --- core/server/api/canary/settings.js | 2 +- core/server/services/members/settings.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/server/api/canary/settings.js b/core/server/api/canary/settings.js index 67473208f3..77eb21a7ac 100644 --- a/core/server/api/canary/settings.js +++ b/core/server/api/canary/settings.js @@ -97,7 +97,7 @@ module.exports = { frame.response = async function (req, res) { try { const {token, action} = frame.options; - const updatedEmailAddress = membersService.settings.getEmailFromToken({token}); + const updatedEmailAddress = await membersService.settings.getEmailFromToken({token}); const actionToKeyMapping = { fromAddressUpdate: 'members_from_address', supportAddressUpdate: 'members_support_address' diff --git a/core/server/services/members/settings.js b/core/server/services/members/settings.js index e2b3d9c7dc..21f0c7fda9 100644 --- a/core/server/services/members/settings.js +++ b/core/server/services/members/settings.js @@ -6,6 +6,9 @@ const settingsCache = require('../settings/cache'); const logging = require('../../../shared/logging'); const mail = require('../mail'); const updateEmailTemplate = require('./emails/updateEmail'); +const SingleUseTokenProvider = require('./SingleUseTokenProvider'); +const models = require('../../models'); +const MAGIC_LINK_TOKEN_VALIDITY = 4 * 60 * 60 * 1000; const ghostMailer = new mail.GhostMailer(); @@ -63,14 +66,14 @@ function createSettingsInstance(config) { const magicLinkService = new MagicLink({ transporter, - secret: config.getAuthSecret(), + tokenProvider: new SingleUseTokenProvider(models.SingleUseToken, MAGIC_LINK_TOKEN_VALIDITY), getSigninURL, getText, getHTML, getSubject }); - const sendEmailAddressUpdateMagicLink = ({email, payload = {}, type = 'fromAddressUpdate'}) => { + const sendEmailAddressUpdateMagicLink = ({email, type = 'fromAddressUpdate'}) => { const [,toDomain] = email.split('@'); let fromEmail = `noreply@${toDomain}`; if (fromEmail === email) { @@ -90,11 +93,12 @@ function createSettingsInstance(config) { return ghostMailer.send(msg); } }; - return magicLinkService.sendMagicLink({email, payload, subject: email, type}); + return magicLinkService.sendMagicLink({email, tokenData: {email}, subject: email, type}); }; - const getEmailFromToken = ({token}) => { - return magicLinkService.getUserFromToken(token); + const getEmailFromToken = async ({token}) => { + const data = await magicLinkService.getDataFromToken(token); + return data.email; }; const getAdminRedirectLink = ({type}) => { From 4cb228fab041a454850af9428172ed809279be82 Mon Sep 17 00:00:00 2001 From: Daniel Lockyer Date: Thu, 24 Sep 2020 19:26:52 +0100 Subject: [PATCH 2/3] Updated Ghost-Admin to v3.34.1 --- core/client | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/client b/core/client index 6189c91e56..a80e2681f1 160000 --- a/core/client +++ b/core/client @@ -1 +1 @@ -Subproject commit 6189c91e565fb04e65b025fe16e5911addbd420d +Subproject commit a80e2681f10be96ed1a6c08ca82f303d3416510d From 2a29482d182a86848ecc0c0fda15a063bd29c059 Mon Sep 17 00:00:00 2001 From: Daniel Lockyer Date: Thu, 24 Sep 2020 19:26:52 +0100 Subject: [PATCH 3/3] v3.34.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f76ce3f0c0..18f9ee4621 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghost", - "version": "3.34.0", + "version": "3.34.1", "description": "The professional publishing platform", "author": "Ghost Foundation", "homepage": "https://ghost.org",