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:
parent
58269c879b
commit
3bf0b7d8ed
3 changed files with 17 additions and 2 deletions
|
@ -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',
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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.'
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue