0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-04-08 02:52:39 -05:00

Added sending of 2fa code email on sign in

This commit is contained in:
Princi Vershwal 2024-10-09 17:18:48 +01:00 committed by Kevin Ansfield
parent 58269c879b
commit 3bf0b7d8ed
3 changed files with 17 additions and 2 deletions

View file

@ -11,6 +11,7 @@ function SessionMiddleware({sessionService}) {
if (isVerified) {
res.sendStatus(201);
} else {
await sessionService.sendAuthCodeToUser(req, res);
throw new errors.NoPermissionError({
code: '2FA_TOKEN_REQUIRED',
errorType: 'Needs2FAError',

View file

@ -87,7 +87,21 @@ describe('Session Service', function () {
req.ip = '127.0.0.1';
req.user = models.User.forge({id: 23});
sessionMiddleware.createSession(req, res, (err) => {
const middleware = SessionMiddlware({
sessionService: {
createSessionForUser: function () {
return Promise.resolve();
},
isVerifiedSession: function () {
return Promise.resolve(false);
},
sendAuthCodeToUser: function () {
return Promise.resolve();
}
}
});
middleware.createSession(req, res, (err) => {
should.equal(err.statusCode, 403);
should.equal(err.code, '2FA_TOKEN_REQUIRED');
done();

View file

@ -147,7 +147,7 @@ module.exports = function createSessionService({
async function sendAuthCodeToUser(req, res) {
const token = await generateAuthCodeForUser(req, res);
const user = await getUserForSession(req, res);
if(!user) {
if (!user) {
throw new BadRequestError({
message: 'Could not fetch user from the session.'
});