Skip to content

Commit b1ffc0b

Browse files
Merge pull request #6 from vizmo-vms/fix-add-mfaType-in-afterfind
2 parents 4bd7b1f + a9bd90d commit b1ffc0b

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

spec/AuthenticationAdapters.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,7 +1541,7 @@ describe('OTP TOTP auth adatper', () => {
15411541
expect(response.mfa.recovery).toBeDefined();
15421542
expect(response.mfa.recovery.split(',').length).toEqual(2);
15431543
await user.fetch();
1544-
expect(user.get('authData').mfa).toEqual({ status: 'enabled' });
1544+
expect(user.get('authData').mfa).toEqual({ status: 'enabled', type: 'TOTP' });
15451545
});
15461546

15471547
it('can login with valid token', async () => {
@@ -1575,7 +1575,7 @@ describe('OTP TOTP auth adatper', () => {
15751575
}).then(res => res.data);
15761576
expect(response.objectId).toEqual(user.id);
15771577
expect(response.sessionToken).toBeDefined();
1578-
expect(response.authData).toEqual({ mfa: { status: 'enabled' } });
1578+
expect(response.authData).toEqual({ mfa: { status: 'enabled', type: 'TOTP' } });
15791579
expect(Object.keys(response).sort()).toEqual(
15801580
[
15811581
'objectId',
@@ -1763,7 +1763,7 @@ describe('OTP SMS auth adatper', () => {
17631763

17641764
await user.save({ authData: { mfa: { mobile, token: code } } }, { sessionToken });
17651765
await user.fetch({ sessionToken });
1766-
expect(user.get('authData')).toEqual({ mfa: { status: 'enabled' } });
1766+
expect(user.get('authData')).toEqual({ mfa: { status: 'enabled', type: 'SMS' } });
17671767
});
17681768

17691769
it('future logins require SMS code', async () => {
@@ -1819,7 +1819,7 @@ describe('OTP SMS auth adatper', () => {
18191819
}).then(res => res.data);
18201820
expect(response.objectId).toEqual(user.id);
18211821
expect(response.sessionToken).toBeDefined();
1822-
expect(response.authData).toEqual({ mfa: { status: 'enabled' } });
1822+
expect(response.authData).toEqual({ mfa: { status: 'enabled', type: 'SMS' } });
18231823
expect(Object.keys(response).sort()).toEqual(
18241824
[
18251825
'objectId',

src/Adapters/Auth/mfa.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -269,19 +269,20 @@ class MFAAdapter extends AuthAdapter {
269269
if (req.master) {
270270
return;
271271
}
272+
273+
let type;
272274
if (this.totp && authData.secret) {
273-
return {
274-
status: 'enabled',
275-
};
275+
type = 'TOTP';
276+
} else if (this.sms && authData.mobile) {
277+
type = 'SMS';
278+
} else if (this.email && authData.email) {
279+
type = 'EMAIL';
276280
}
277-
if (this.sms && authData.mobile) {
278-
return {
279-
status: 'enabled',
280-
};
281-
}
282-
if (this.email && authData.email) {
281+
282+
if (type) {
283283
return {
284284
status: 'enabled',
285+
type,
285286
};
286287
}
287288
return {

0 commit comments

Comments
 (0)