@genesislcap/foundation-auth 15.46.1 → 15.46.2-FUI-2625.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dts/credential/types.d.ts +3 -1
- package/dist/dts/credential/types.d.ts.map +1 -1
- package/dist/dts/dto/EVENT_LOGIN_AUTH.d.ts +3 -1
- package/dist/dts/dto/EVENT_LOGIN_AUTH.d.ts.map +1 -1
- package/dist/dts/dto/EVENT_LOGIN_AUTH_NACK.d.ts +9 -0
- package/dist/dts/dto/EVENT_LOGIN_AUTH_NACK.d.ts.map +1 -1
- package/dist/dts/dto/index.d.ts +1 -0
- package/dist/dts/dto/index.d.ts.map +1 -1
- package/dist/dts/entity/loginNack.d.ts +4 -0
- package/dist/dts/entity/loginNack.d.ts.map +1 -1
- package/dist/dts/machine/machine.d.ts.map +1 -1
- package/dist/dts/machine/types.d.ts +5 -0
- package/dist/dts/machine/types.d.ts.map +1 -1
- package/dist/dts/mapper/loginMapper.d.ts.map +1 -1
- package/dist/dts/routes/verify/verify.d.ts +3 -0
- package/dist/dts/routes/verify/verify.d.ts.map +1 -1
- package/dist/dts/routes/verify/verify.template.d.ts.map +1 -1
- package/dist/esm/credential/credentialManager.js +1 -1
- package/dist/esm/machine/machine.js +47 -5
- package/dist/esm/machine/types.js +1 -0
- package/dist/esm/mapper/loginMapper.js +2 -4
- package/dist/esm/routes/verify/verify.js +19 -0
- package/dist/esm/routes/verify/verify.template.js +15 -1
- package/dist/esm/translation.json +2 -0
- package/dist/foundation-auth.api.json +140 -3
- package/dist/foundation-auth.d.ts +23 -2
- package/package.json +17 -17
|
@@ -77,11 +77,13 @@ export type JWTCredentials = {
|
|
|
77
77
|
/**
|
|
78
78
|
* @remarks
|
|
79
79
|
* Will be sourced from MFA_CODE in url params.
|
|
80
|
+
* Set `mfaResend` to request a new code without submitting one (AUTH-473 / FUI-2625).
|
|
80
81
|
* @public
|
|
81
82
|
*/
|
|
82
83
|
export type MFACredentials = {
|
|
83
84
|
type: CredentialType & CredentialType.MFA;
|
|
84
|
-
mfaToken
|
|
85
|
+
mfaToken?: string;
|
|
86
|
+
mfaResend?: boolean;
|
|
85
87
|
};
|
|
86
88
|
/**
|
|
87
89
|
* Union of all credential types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credential/types.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+EAAgD,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,EAAE,CAAC;AAEjE;;;GAGG;AACH,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/credential/types.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+EAAgD,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,EAAE,CAAC;AAEjE;;;GAGG;AACH,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,cAAc,CAAC"}
|
|
@@ -15,7 +15,9 @@ export interface EVENT_LOGIN_AUTH extends MESSAGE {
|
|
|
15
15
|
readonly JWT: string;
|
|
16
16
|
readonly DOMAIN: string;
|
|
17
17
|
} | {
|
|
18
|
-
readonly MFA_CODE
|
|
18
|
+
readonly MFA_CODE?: string;
|
|
19
|
+
/** When true, requests a new MFA code (AUTH-473). */
|
|
20
|
+
readonly MFA_RESEND?: boolean;
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=EVENT_LOGIN_AUTH.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EVENT_LOGIN_AUTH.d.ts","sourceRoot":"","sources":["../../../src/dto/EVENT_LOGIN_AUTH.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,OAAO,EACZ;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,GACD;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;KACrC,GACD;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GACD;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,GACD;QACE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"EVENT_LOGIN_AUTH.d.ts","sourceRoot":"","sources":["../../../src/dto/EVENT_LOGIN_AUTH.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,OAAO,EACZ;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,GACD;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;KACrC,GACD;QACE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GACD;QACE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,GACD;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,qDAAqD;QACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACP"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { NACK } from './NACK';
|
|
2
|
+
/**
|
|
3
|
+
* MFA delivery mechanism returned on MFA_REQUIRED / MFA_FAILED NACKs (AUTH-473).
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type MFA_TYPE = 'NOTIFY' | 'QR_CODE';
|
|
2
7
|
/**
|
|
3
8
|
* @public
|
|
4
9
|
*/
|
|
@@ -8,5 +13,9 @@ export interface EVENT_LOGIN_AUTH_NACK extends NACK {
|
|
|
8
13
|
*/
|
|
9
14
|
readonly REFRESH_AUTH_TOKEN: string;
|
|
10
15
|
readonly REFRESH_TOKEN_EXPIRATION_MINS: number;
|
|
16
|
+
/**
|
|
17
|
+
* MFA type when MFA is required or has failed (AUTH-473).
|
|
18
|
+
*/
|
|
19
|
+
readonly MFA_TYPE?: MFA_TYPE;
|
|
11
20
|
}
|
|
12
21
|
//# sourceMappingURL=EVENT_LOGIN_AUTH_NACK.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EVENT_LOGIN_AUTH_NACK.d.ts","sourceRoot":"","sources":["../../../src/dto/EVENT_LOGIN_AUTH_NACK.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI;IACjD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"EVENT_LOGIN_AUTH_NACK.d.ts","sourceRoot":"","sources":["../../../src/dto/EVENT_LOGIN_AUTH_NACK.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI;IACjD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAC9B"}
|
package/dist/dts/dto/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { EVENT_CHANGE_USER_PASSWORD } from './EVENT_CHANGE_USER_PASSWORD';
|
|
|
3
3
|
export { EVENT_LOGIN_AUTH } from './EVENT_LOGIN_AUTH';
|
|
4
4
|
export { EVENT_LOGIN_AUTH_ACK } from './EVENT_LOGIN_AUTH_ACK';
|
|
5
5
|
export { EVENT_LOGIN_AUTH_NACK } from './EVENT_LOGIN_AUTH_NACK';
|
|
6
|
+
export type { MFA_TYPE } from './EVENT_LOGIN_AUTH_NACK';
|
|
6
7
|
export { EVENT_LOGIN_DETAILS_ACK } from './EVENT_LOGIN_DETAILS_ACK';
|
|
7
8
|
export { EVENT_LOGOUT_NACK } from './EVENT_LOGOUT_NACK';
|
|
8
9
|
export { EVENT_PASSWORD_RESET_ACTION } from './EVENT_PASSWORD_RESET_ACTION';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MFA_TYPE } from '../dto/EVENT_LOGIN_AUTH_NACK';
|
|
1
2
|
import type { Nack } from './nack';
|
|
2
3
|
/**
|
|
3
4
|
* @public
|
|
@@ -8,7 +9,10 @@ export interface LoginNack extends Nack {
|
|
|
8
9
|
readonly hasIncorrectCredentials: boolean;
|
|
9
10
|
readonly maxTriesReached: boolean;
|
|
10
11
|
readonly isMFARequired: boolean;
|
|
12
|
+
readonly isMFAFailed: boolean;
|
|
11
13
|
readonly hasPasswordExpired: boolean;
|
|
12
14
|
readonly requiresTermsAndConditions: boolean;
|
|
15
|
+
/** MFA delivery type from AUTH-473 (`NOTIFY` | `QR_CODE`). */
|
|
16
|
+
readonly mfaType?: MFA_TYPE;
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=loginNack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginNack.d.ts","sourceRoot":"","sources":["../../../src/entity/loginNack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"loginNack.d.ts","sourceRoot":"","sources":["../../../src/entity/loginNack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;IAC7C,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/machine/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,iBAAiB,EAMjB,OAAO,EACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACL,IAAI,EASL,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,iBAAiB,EAIlB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,iBAAiB,EAQlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAEV,kBAAkB,EAClB,gBAAgB,EAGhB,WAAW,EACX,WAAW,EAEZ,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;CAAG;AAErF;;;GAGG;AACH,qBAAa,kBACX,SAAQ,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAC5D,YAAW,WAAW;IAGd,OAAO,CAAC,IAAI;IACJ,OAAO,CAAC,YAAY;IACf,OAAO,CAAC,EAAE;IACvB,OAAO,CAAC,IAAI;IACC,OAAO,CAAC,aAAa;IAC5B,OAAO,CAAC,MAAM;IACb,OAAO,CAAC,OAAO;gBANd,IAAI,EAAE,IAAI,EACF,YAAY,EAAE,YAAY,EACrB,EAAE,EAAE,iBAAiB,EAClC,IAAI,EAAE,IAAI,EACG,aAAa,EAAE,iBAAiB,EACvC,MAAM,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/machine/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,iBAAiB,EAMjB,OAAO,EACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACL,IAAI,EASL,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,iBAAiB,EAIlB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,iBAAiB,EAQlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAEV,kBAAkB,EAClB,gBAAgB,EAGhB,WAAW,EACX,WAAW,EAEZ,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;CAAG;AAErF;;;GAGG;AACH,qBAAa,kBACX,SAAQ,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAC5D,YAAW,WAAW;IAGd,OAAO,CAAC,IAAI;IACJ,OAAO,CAAC,YAAY;IACf,OAAO,CAAC,EAAE;IACvB,OAAO,CAAC,IAAI;IACC,OAAO,CAAC,aAAa;IAC5B,OAAO,CAAC,MAAM;IACb,OAAO,CAAC,OAAO;gBANd,IAAI,EAAE,IAAI,EACF,YAAY,EAAE,YAAY,EACrB,EAAE,EAAE,iBAAiB,EAClC,IAAI,EAAE,IAAI,EACG,aAAa,EAAE,iBAAiB,EACvC,MAAM,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW;IAuwB3C,KAAK,CACH,OAAO,GAAE,kBAAkB,CAAC,OAAO,IAAI,CAAC,OAAO,CAM9C;IAKH;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB,SAAS,CAAC,sBAAsB,IAAI,WAAW;IAQ/C,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IAuB3E,SAAS,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,iBAAiB;IAgB3E,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;MAwBpB;IAEF,SAAS,CAAC,aAAa;;;MAGpB;CACJ;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,mEAA0E,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
|
|
@@ -2,6 +2,7 @@ import type { MachineContext } from '@genesislcap/foundation-state-machine';
|
|
|
2
2
|
import type { User } from '@genesislcap/foundation-user';
|
|
3
3
|
import type { DoneInvokeEvent, ErrorEvent } from 'xstate';
|
|
4
4
|
import { Credentials } from '../credential';
|
|
5
|
+
import type { MFA_TYPE } from '../dto/EVENT_LOGIN_AUTH_NACK';
|
|
5
6
|
import type { AuthDTO, AuthEntity } from '../mapper';
|
|
6
7
|
/**
|
|
7
8
|
* @public
|
|
@@ -85,6 +86,10 @@ export interface AuthMachineContext extends MachineContext {
|
|
|
85
86
|
* The user, either authenticated or anonymous.
|
|
86
87
|
*/
|
|
87
88
|
user: User;
|
|
89
|
+
/**
|
|
90
|
+
* MFA delivery type from the latest MFA_REQUIRED / MFA_FAILED NACK (AUTH-473).
|
|
91
|
+
*/
|
|
92
|
+
mfaType?: MFA_TYPE;
|
|
88
93
|
}
|
|
89
94
|
/**
|
|
90
95
|
* AuthMachineEvent type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/machine/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,WAAW,GACX,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;OAEG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/machine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginMapper.d.ts","sourceRoot":"","sources":["../../../src/mapper/loginMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAgB,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,GACvB,OAAO,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,oBAAoB,CAExE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,uBAAuB,CAElF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,qBAAqB,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,QAAQ,CAExE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,eAAe,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,SAAS,CAE1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;CAAG;AAErE;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IAC9C,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IAE3B;;OAEG;IACH,QAAQ,GAAI,KAAK,QAAQ,KAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"loginMapper.d.ts","sourceRoot":"","sources":["../../../src/mapper/loginMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAgB,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,uBAAuB,GACvB,OAAO,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,oBAAoB,CAExE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,uBAAuB,CAElF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,qBAAqB,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,QAAQ,CAExE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,eAAe,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,SAAS,CAE1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;CAAG;AAErE;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IAC9C,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IAE3B;;OAEG;IACH,QAAQ,GAAI,KAAK,QAAQ,KAAG,WAAW,CAuDrC;IAEF;;OAEG;IACH,KAAK,GAAI,QAAQ,WAAW,KAAG,QAAQ,CAiDrC;IAEF,SAAS,CAAC,aAAa,GAAI,QAAQ,SAAS,KAAG,YAAY,CACnB;IAExC,SAAS,CAAC,cAAc,GAAI,UAAU,UAAU,EAAE,KAAG,aAAa,EAAE,CAM3D;CACV;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,mEAA0E,CAAC"}
|
|
@@ -16,8 +16,11 @@ export declare class Verify extends BaseRoute {
|
|
|
16
16
|
* True while AuthMachine is in the awaitingMfa state (or its feedback return path still tagged).
|
|
17
17
|
*/
|
|
18
18
|
get isAwaitingMfa(): boolean;
|
|
19
|
+
/** Show Resend only for notify-delivered MFA codes (AUTH-473 / FUI-2625). */
|
|
20
|
+
get showResendCode(): boolean;
|
|
19
21
|
get submitDisabled(): boolean;
|
|
20
22
|
onBack: () => void;
|
|
23
|
+
onResend: () => void;
|
|
21
24
|
onSubmit(event: Event): void;
|
|
22
25
|
private attemptMfaLogin;
|
|
23
26
|
login(params: LoginParams): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/routes/verify/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAkC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;;;;GAMG;AACH,qBAKa,MAAO,SAAQ,SAAS;IAChB,iBAAiB,EAAE,iBAAiB,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAM;IAE9B,iBAAiB;IAUjB;;OAEG;IACH,IAAI,aAAa,YAIhB;IAED,IAAI,cAAc,YAEjB;IAED,MAAM,aAGJ;IAEF,QAAQ,CAAC,KAAK,EAAE,KAAK;IAerB,OAAO,CAAC,eAAe;IAevB,KAAK,CAAC,MAAM,EAAE,WAAW;CAG1B"}
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/routes/verify/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAkC,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;;;;GAMG;AACH,qBAKa,MAAO,SAAQ,SAAS;IAChB,iBAAiB,EAAE,iBAAiB,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAM;IAE9B,iBAAiB;IAUjB;;OAEG;IACH,IAAI,aAAa,YAIhB;IAED,6EAA6E;IAC7E,IAAI,cAAc,YAEjB;IAED,IAAI,cAAc,YAEjB;IAED,MAAM,aAGJ;IAEF,QAAQ,aAiBN;IAEF,QAAQ,CAAC,KAAK,EAAE,KAAK;IAerB,OAAO,CAAC,eAAe;IAevB,KAAK,CAAC,MAAM,EAAE,WAAW;CAG1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.template.d.ts","sourceRoot":"","sources":["../../../../src/routes/verify/verify.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"verify.template.d.ts","sourceRoot":"","sources":["../../../../src/routes/verify/verify.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,cAAc,6DAyD1B,CAAC"}
|
|
@@ -99,7 +99,7 @@ let DefaultCredentialManager = class DefaultCredentialManager {
|
|
|
99
99
|
return credentials && !!credentials.ssoToken;
|
|
100
100
|
}
|
|
101
101
|
validateMFACredentials(credentials) {
|
|
102
|
-
return credentials && !!credentials.mfaToken;
|
|
102
|
+
return credentials && (!!credentials.mfaToken || !!credentials.mfaResend);
|
|
103
103
|
}
|
|
104
104
|
validateUserCredentialData(data, ensurePassword) {
|
|
105
105
|
const baseResult = data &&
|
|
@@ -179,7 +179,7 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
179
179
|
meta: {
|
|
180
180
|
content: 'Logged in.',
|
|
181
181
|
},
|
|
182
|
-
entry: ['storeBasicCredentials', 'loggedInCallback', 'postLoginRedirect'],
|
|
182
|
+
entry: ['storeBasicCredentials', 'clearMfaType', 'loggedInCallback', 'postLoginRedirect'],
|
|
183
183
|
on: {
|
|
184
184
|
logout: {
|
|
185
185
|
target: '#authMachine.loggingOut',
|
|
@@ -443,13 +443,18 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
443
443
|
actions: ['setUser'],
|
|
444
444
|
target: '#authMachine.authCheck',
|
|
445
445
|
},
|
|
446
|
+
{
|
|
447
|
+
guard: and(['isLoginNackEntity', 'hasIncorrectCredentials', 'isMfaChallenge']),
|
|
448
|
+
actions: 'storeMfaType',
|
|
449
|
+
target: '#authMachine.feedback.incorrectMfa',
|
|
450
|
+
},
|
|
446
451
|
{
|
|
447
452
|
guard: and(['isLoginNackEntity', 'hasIncorrectCredentials']),
|
|
448
453
|
target: '#authMachine.feedback.incorrectCredentials',
|
|
449
454
|
},
|
|
450
455
|
{
|
|
451
456
|
guard: and(['isLoginNackEntity', 'isMFARequired']),
|
|
452
|
-
actions: 'storeBasicCredentials',
|
|
457
|
+
actions: ['storeBasicCredentials', 'storeMfaType'],
|
|
453
458
|
target: '#authMachine.feedback.mfaRequired',
|
|
454
459
|
},
|
|
455
460
|
{
|
|
@@ -463,8 +468,14 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
463
468
|
target: '#authMachine.feedback.termsAndConditions',
|
|
464
469
|
},
|
|
465
470
|
{
|
|
466
|
-
guard: and(['isLoginNackEntity', '
|
|
467
|
-
|
|
471
|
+
guard: and(['isLoginNackEntity', 'isMFAFailed']),
|
|
472
|
+
actions: 'storeMfaType',
|
|
473
|
+
target: '#authMachine.feedback.incorrectMfa',
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
guard: and(['isLoginNackEntity', 'isMfaChallenge']),
|
|
477
|
+
actions: 'storeMfaType',
|
|
478
|
+
target: '#authMachine.feedback.incorrectMfa',
|
|
468
479
|
},
|
|
469
480
|
{
|
|
470
481
|
guard: 'isLoginNackEntity',
|
|
@@ -556,7 +567,7 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
556
567
|
after: {
|
|
557
568
|
feedbackDelay: [
|
|
558
569
|
{
|
|
559
|
-
guard: '
|
|
570
|
+
guard: 'isMfaChallenge',
|
|
560
571
|
target: '#authMachine.awaitingMfa',
|
|
561
572
|
},
|
|
562
573
|
{
|
|
@@ -565,6 +576,21 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
565
576
|
],
|
|
566
577
|
},
|
|
567
578
|
},
|
|
579
|
+
/**
|
|
580
|
+
* Wrong MFA code (or failed MFA resend). Keeps awaitingMfa so Verify does not bounce to login.
|
|
581
|
+
*/
|
|
582
|
+
incorrectMfa: {
|
|
583
|
+
tags: ['feedback', 'incorrectCredentials', 'awaitingMfa'],
|
|
584
|
+
meta: {
|
|
585
|
+
content: 'MESSAGE_INCORRECT_MFA_CODE',
|
|
586
|
+
},
|
|
587
|
+
entry: ['verifyRedirect'],
|
|
588
|
+
after: {
|
|
589
|
+
feedbackDelay: {
|
|
590
|
+
target: '#authMachine.awaitingMfa',
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
},
|
|
568
594
|
mfaRequired: {
|
|
569
595
|
tags: ['feedback', 'mfaRequired'],
|
|
570
596
|
meta: {
|
|
@@ -696,6 +722,17 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
696
722
|
this.cm.storeCredentials(data);
|
|
697
723
|
}
|
|
698
724
|
},
|
|
725
|
+
storeMfaType: assign(({ event, context }) => {
|
|
726
|
+
if (isDoneInvokeEvent(event) &&
|
|
727
|
+
isLoginNackEntity(event.output) &&
|
|
728
|
+
event.output.mfaType) {
|
|
729
|
+
return { mfaType: event.output.mfaType };
|
|
730
|
+
}
|
|
731
|
+
return { mfaType: context.mfaType };
|
|
732
|
+
}),
|
|
733
|
+
clearMfaType: assign({
|
|
734
|
+
mfaType: () => undefined,
|
|
735
|
+
}),
|
|
699
736
|
postLoginRedirect: this.config.postLoginRedirect,
|
|
700
737
|
postLogoutRedirect: this.config.postLogoutRedirect,
|
|
701
738
|
resetPasswordRedirect: () => this.routing.navigateTo('reset-password?expired'),
|
|
@@ -732,7 +769,12 @@ let DefaultAuthMachine = class DefaultAuthMachine extends AbstractMachine {
|
|
|
732
769
|
isMFARequired: ({ event }) => isDoneInvokeEvent(event)
|
|
733
770
|
? isLoginNackEntity(event.output) && event.output.isMFARequired
|
|
734
771
|
: false,
|
|
772
|
+
isMFAFailed: ({ event }) => isDoneInvokeEvent(event)
|
|
773
|
+
? isLoginNackEntity(event.output) && event.output.isMFAFailed
|
|
774
|
+
: false,
|
|
735
775
|
isMfaLoginParams: ({ context }) => isLoginParams(context.params) && context.params.type === CredentialType.MFA,
|
|
776
|
+
isMfaChallenge: ({ context }) => (isLoginParams(context.params) && context.params.type === CredentialType.MFA) ||
|
|
777
|
+
!!context.mfaType,
|
|
736
778
|
hasPasswordExpired: ({ event }) => isDoneInvokeEvent(event)
|
|
737
779
|
? isLoginNackEntity(event.output) && event.output.hasPasswordExpired
|
|
738
780
|
: false,
|
|
@@ -82,7 +82,7 @@ export class DefaultLoginMapper {
|
|
|
82
82
|
return ack;
|
|
83
83
|
}
|
|
84
84
|
if (isLoginNackDTO(dto)) {
|
|
85
|
-
const nack = Object.assign(Object.assign({}, fromDTONack(dto)), { refreshAuthToken: dto.REFRESH_AUTH_TOKEN, refreshTokenExpirationMins: dto.REFRESH_TOKEN_EXPIRATION_MINS, hasIncorrectCredentials: hasDTOErrorWarningCode(dto, 'INCORRECT_CREDENTIALS'), maxTriesReached: hasDTOErrorWarningCode(dto, 'MAX_TRIES_REACHED'), isMFARequired: hasDTOErrorWarningCode(dto, 'MFA_REQUIRED'), hasPasswordExpired: hasDTOErrorWarningCode(dto, 'PASSWORD_EXPIRED'), requiresTermsAndConditions: hasDTOErrorWarningCode(dto, 'TERMS_ACCEPTANCE_REQUIRED') });
|
|
85
|
+
const nack = Object.assign(Object.assign({}, fromDTONack(dto)), { refreshAuthToken: dto.REFRESH_AUTH_TOKEN, refreshTokenExpirationMins: dto.REFRESH_TOKEN_EXPIRATION_MINS, hasIncorrectCredentials: hasDTOErrorWarningCode(dto, 'INCORRECT_CREDENTIALS'), maxTriesReached: hasDTOErrorWarningCode(dto, 'MAX_TRIES_REACHED'), isMFARequired: hasDTOErrorWarningCode(dto, 'MFA_REQUIRED'), isMFAFailed: hasDTOErrorWarningCode(dto, 'MFA_FAILED'), hasPasswordExpired: hasDTOErrorWarningCode(dto, 'PASSWORD_EXPIRED'), requiresTermsAndConditions: hasDTOErrorWarningCode(dto, 'TERMS_ACCEPTANCE_REQUIRED'), mfaType: dto.MFA_TYPE });
|
|
86
86
|
return nack;
|
|
87
87
|
}
|
|
88
88
|
if (isNackDTO(dto)) {
|
|
@@ -129,9 +129,7 @@ export class DefaultLoginMapper {
|
|
|
129
129
|
};
|
|
130
130
|
break;
|
|
131
131
|
case CredentialType.MFA:
|
|
132
|
-
DETAILS = {
|
|
133
|
-
MFA_CODE: params.mfaToken,
|
|
134
|
-
};
|
|
132
|
+
DETAILS = Object.assign(Object.assign({}, (params.mfaToken ? { MFA_CODE: params.mfaToken } : {})), (params.mfaResend ? { MFA_RESEND: true } : {}));
|
|
135
133
|
break;
|
|
136
134
|
}
|
|
137
135
|
const dto = {
|
|
@@ -20,6 +20,21 @@ let Verify = class Verify extends BaseRoute {
|
|
|
20
20
|
this.store.authMachine.send({ type: 'cancel-mfa' });
|
|
21
21
|
this.routing.navigateTo('');
|
|
22
22
|
};
|
|
23
|
+
this.onResend = () => {
|
|
24
|
+
if (this.submitDisabled || !this.showResendCode) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const mfaCredentials = {
|
|
28
|
+
type: CredentialType.MFA,
|
|
29
|
+
mfaResend: true,
|
|
30
|
+
};
|
|
31
|
+
if (!this.credentialManager.validateMFACredentials(mfaCredentials)) {
|
|
32
|
+
logger.debug(`MFA resend credentials appear invalid, aborting.`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
logger.debug(`Requesting a new MFA code.`);
|
|
36
|
+
this.login(mfaCredentials);
|
|
37
|
+
};
|
|
23
38
|
}
|
|
24
39
|
connectedCallback() {
|
|
25
40
|
super.connectedCallback();
|
|
@@ -35,6 +50,10 @@ let Verify = class Verify extends BaseRoute {
|
|
|
35
50
|
get isAwaitingMfa() {
|
|
36
51
|
return (this.store.authMachine.matches('awaitingMfa') || this.store.authMachine.hasTag('awaitingMfa'));
|
|
37
52
|
}
|
|
53
|
+
/** Show Resend only for notify-delivered MFA codes (AUTH-473 / FUI-2625). */
|
|
54
|
+
get showResendCode() {
|
|
55
|
+
return this.store.authMachine.context.mfaType === 'NOTIFY';
|
|
56
|
+
}
|
|
38
57
|
get submitDisabled() {
|
|
39
58
|
return this.store.authMachine.hasTag('pending');
|
|
40
59
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sync } from '@genesislcap/foundation-utils';
|
|
2
|
-
import { html } from '@microsoft/fast-element';
|
|
2
|
+
import { html, when } from '@microsoft/fast-element';
|
|
3
3
|
import { backButton, showEnvironmentIndicator, submitButton } from '../base';
|
|
4
4
|
/**
|
|
5
5
|
* VerifyTemplate
|
|
@@ -30,6 +30,20 @@ export const VerifyTemplate = html `
|
|
|
30
30
|
>
|
|
31
31
|
<span class="form-title">${(x) => x.toLocalisedText('VERIFY_FORM_TITLE')}</span>
|
|
32
32
|
</rapid-verification-code-input>
|
|
33
|
+
${when((x) => x.showResendCode, html `
|
|
34
|
+
<div class="links">
|
|
35
|
+
<rapid-button
|
|
36
|
+
class="link-url"
|
|
37
|
+
appearance="lightweight"
|
|
38
|
+
type="button"
|
|
39
|
+
?disabled=${(x) => x.submitDisabled}
|
|
40
|
+
@click=${(x) => x.onResend()}
|
|
41
|
+
data-test-id="resend-code"
|
|
42
|
+
>
|
|
43
|
+
${(x) => x.toLocalisedText('VERIFY_RESEND_CODE')}
|
|
44
|
+
</rapid-button>
|
|
45
|
+
</div>
|
|
46
|
+
`)}
|
|
33
47
|
<div class="form-buttons">
|
|
34
48
|
${(x) => submitButton(x.toLocalisedText('VERIFY_SUBMIT_BUTTON_LABEL'), 'submit', x.submitDisabled)}
|
|
35
49
|
${(x) => backButton(() => x.onBack(), x.toLocalisedText('VERIFY_BACK_BUTTON'))}
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"VERIFY_FORM_TITLE": "Verification Code",
|
|
36
36
|
"VERIFY_SUBMIT_BUTTON_LABEL": "Verify and Login",
|
|
37
37
|
"VERIFY_BACK_BUTTON": "Back",
|
|
38
|
+
"VERIFY_RESEND_CODE": "Resend code",
|
|
38
39
|
"FIELD_USERNAME_TITLE": "Username",
|
|
39
40
|
"FIELD_EMAIL_TITLE": "Email",
|
|
40
41
|
"FIELD_PASSWORD_TITLE": "Password",
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
"MESSAGE_FORGOT_PASSWORD_RESET": "Please check your inbox for reset instructions.",
|
|
46
47
|
"MESSAGE_PASSWORD_RESET_SUCCESS": "Password reset success. Redirecting to login.",
|
|
47
48
|
"MESSAGE_INCORRECT_CREDENTIALS": "Incorrect credentials, please try again.",
|
|
49
|
+
"MESSAGE_INCORRECT_MFA_CODE": "Incorrect verification code, please try again.",
|
|
48
50
|
"MESSAGE_MFA_REQUIRED": "Please check your inbox for your login link.",
|
|
49
51
|
"MESSAGE_PASSWORD_EXPIRED": "You are required to change your password.",
|
|
50
52
|
"ERROR_UNKNOWN_ERROR": "Unknown error.",
|
|
@@ -2095,6 +2095,34 @@
|
|
|
2095
2095
|
"endIndex": 2
|
|
2096
2096
|
}
|
|
2097
2097
|
},
|
|
2098
|
+
{
|
|
2099
|
+
"kind": "PropertySignature",
|
|
2100
|
+
"canonicalReference": "@genesislcap/foundation-auth!AuthMachineContext#mfaType:member",
|
|
2101
|
+
"docComment": "/**\n * MFA delivery type from the latest MFA_REQUIRED / MFA_FAILED NACK (AUTH-473).\n */\n",
|
|
2102
|
+
"excerptTokens": [
|
|
2103
|
+
{
|
|
2104
|
+
"kind": "Content",
|
|
2105
|
+
"text": "mfaType?: "
|
|
2106
|
+
},
|
|
2107
|
+
{
|
|
2108
|
+
"kind": "Reference",
|
|
2109
|
+
"text": "MFA_TYPE",
|
|
2110
|
+
"canonicalReference": "@genesislcap/foundation-auth!MFA_TYPE:type"
|
|
2111
|
+
},
|
|
2112
|
+
{
|
|
2113
|
+
"kind": "Content",
|
|
2114
|
+
"text": ";"
|
|
2115
|
+
}
|
|
2116
|
+
],
|
|
2117
|
+
"isReadonly": false,
|
|
2118
|
+
"isOptional": true,
|
|
2119
|
+
"releaseTag": "Public",
|
|
2120
|
+
"name": "mfaType",
|
|
2121
|
+
"propertyTypeTokenRange": {
|
|
2122
|
+
"startIndex": 1,
|
|
2123
|
+
"endIndex": 2
|
|
2124
|
+
}
|
|
2125
|
+
},
|
|
2098
2126
|
{
|
|
2099
2127
|
"kind": "PropertySignature",
|
|
2100
2128
|
"canonicalReference": "@genesislcap/foundation-auth!AuthMachineContext#params:member",
|
|
@@ -9181,6 +9209,34 @@
|
|
|
9181
9209
|
"name": "EVENT_LOGIN_AUTH_NACK",
|
|
9182
9210
|
"preserveMemberOrder": false,
|
|
9183
9211
|
"members": [
|
|
9212
|
+
{
|
|
9213
|
+
"kind": "PropertySignature",
|
|
9214
|
+
"canonicalReference": "@genesislcap/foundation-auth!EVENT_LOGIN_AUTH_NACK#MFA_TYPE:member",
|
|
9215
|
+
"docComment": "/**\n * MFA type when MFA is required or has failed (AUTH-473).\n */\n",
|
|
9216
|
+
"excerptTokens": [
|
|
9217
|
+
{
|
|
9218
|
+
"kind": "Content",
|
|
9219
|
+
"text": "readonly MFA_TYPE?: "
|
|
9220
|
+
},
|
|
9221
|
+
{
|
|
9222
|
+
"kind": "Reference",
|
|
9223
|
+
"text": "MFA_TYPE",
|
|
9224
|
+
"canonicalReference": "@genesislcap/foundation-auth!MFA_TYPE:type"
|
|
9225
|
+
},
|
|
9226
|
+
{
|
|
9227
|
+
"kind": "Content",
|
|
9228
|
+
"text": ";"
|
|
9229
|
+
}
|
|
9230
|
+
],
|
|
9231
|
+
"isReadonly": true,
|
|
9232
|
+
"isOptional": true,
|
|
9233
|
+
"releaseTag": "Public",
|
|
9234
|
+
"name": "MFA_TYPE",
|
|
9235
|
+
"propertyTypeTokenRange": {
|
|
9236
|
+
"startIndex": 1,
|
|
9237
|
+
"endIndex": 2
|
|
9238
|
+
}
|
|
9239
|
+
},
|
|
9184
9240
|
{
|
|
9185
9241
|
"kind": "PropertySignature",
|
|
9186
9242
|
"canonicalReference": "@genesislcap/foundation-auth!EVENT_LOGIN_AUTH_NACK#REFRESH_AUTH_TOKEN:member",
|
|
@@ -9278,7 +9334,7 @@
|
|
|
9278
9334
|
},
|
|
9279
9335
|
{
|
|
9280
9336
|
"kind": "Content",
|
|
9281
|
-
"text": "{\n readonly USER_NAME: string;\n readonly PASSWORD: string;\n } | {\n readonly USER_NAME: string;\n readonly REFRESH_AUTH_TOKEN: string;\n } | {\n readonly SSO_TOKEN: string;\n } | {\n readonly JWT: string;\n readonly DOMAIN: string;\n } | {\n readonly MFA_CODE
|
|
9337
|
+
"text": "{\n readonly USER_NAME: string;\n readonly PASSWORD: string;\n } | {\n readonly USER_NAME: string;\n readonly REFRESH_AUTH_TOKEN: string;\n } | {\n readonly SSO_TOKEN: string;\n } | {\n readonly JWT: string;\n readonly DOMAIN: string;\n } | {\n readonly MFA_CODE?: string;\n readonly MFA_RESEND?: boolean;\n }"
|
|
9282
9338
|
},
|
|
9283
9339
|
{
|
|
9284
9340
|
"kind": "Content",
|
|
@@ -11863,6 +11919,33 @@
|
|
|
11863
11919
|
"endIndex": 2
|
|
11864
11920
|
}
|
|
11865
11921
|
},
|
|
11922
|
+
{
|
|
11923
|
+
"kind": "PropertySignature",
|
|
11924
|
+
"canonicalReference": "@genesislcap/foundation-auth!LoginNack#isMFAFailed:member",
|
|
11925
|
+
"docComment": "",
|
|
11926
|
+
"excerptTokens": [
|
|
11927
|
+
{
|
|
11928
|
+
"kind": "Content",
|
|
11929
|
+
"text": "readonly isMFAFailed: "
|
|
11930
|
+
},
|
|
11931
|
+
{
|
|
11932
|
+
"kind": "Content",
|
|
11933
|
+
"text": "boolean"
|
|
11934
|
+
},
|
|
11935
|
+
{
|
|
11936
|
+
"kind": "Content",
|
|
11937
|
+
"text": ";"
|
|
11938
|
+
}
|
|
11939
|
+
],
|
|
11940
|
+
"isReadonly": true,
|
|
11941
|
+
"isOptional": false,
|
|
11942
|
+
"releaseTag": "Public",
|
|
11943
|
+
"name": "isMFAFailed",
|
|
11944
|
+
"propertyTypeTokenRange": {
|
|
11945
|
+
"startIndex": 1,
|
|
11946
|
+
"endIndex": 2
|
|
11947
|
+
}
|
|
11948
|
+
},
|
|
11866
11949
|
{
|
|
11867
11950
|
"kind": "PropertySignature",
|
|
11868
11951
|
"canonicalReference": "@genesislcap/foundation-auth!LoginNack#isMFARequired:member",
|
|
@@ -11917,6 +12000,34 @@
|
|
|
11917
12000
|
"endIndex": 2
|
|
11918
12001
|
}
|
|
11919
12002
|
},
|
|
12003
|
+
{
|
|
12004
|
+
"kind": "PropertySignature",
|
|
12005
|
+
"canonicalReference": "@genesislcap/foundation-auth!LoginNack#mfaType:member",
|
|
12006
|
+
"docComment": "/**\n * MFA delivery type from AUTH-473 (`NOTIFY` | `QR_CODE`).\n */\n",
|
|
12007
|
+
"excerptTokens": [
|
|
12008
|
+
{
|
|
12009
|
+
"kind": "Content",
|
|
12010
|
+
"text": "readonly mfaType?: "
|
|
12011
|
+
},
|
|
12012
|
+
{
|
|
12013
|
+
"kind": "Reference",
|
|
12014
|
+
"text": "MFA_TYPE",
|
|
12015
|
+
"canonicalReference": "@genesislcap/foundation-auth!MFA_TYPE:type"
|
|
12016
|
+
},
|
|
12017
|
+
{
|
|
12018
|
+
"kind": "Content",
|
|
12019
|
+
"text": ";"
|
|
12020
|
+
}
|
|
12021
|
+
],
|
|
12022
|
+
"isReadonly": true,
|
|
12023
|
+
"isOptional": true,
|
|
12024
|
+
"releaseTag": "Public",
|
|
12025
|
+
"name": "mfaType",
|
|
12026
|
+
"propertyTypeTokenRange": {
|
|
12027
|
+
"startIndex": 1,
|
|
12028
|
+
"endIndex": 2
|
|
12029
|
+
}
|
|
12030
|
+
},
|
|
11920
12031
|
{
|
|
11921
12032
|
"kind": "PropertySignature",
|
|
11922
12033
|
"canonicalReference": "@genesislcap/foundation-auth!LoginNack#refreshAuthToken:member",
|
|
@@ -12726,10 +12837,36 @@
|
|
|
12726
12837
|
"endIndex": 5
|
|
12727
12838
|
}
|
|
12728
12839
|
},
|
|
12840
|
+
{
|
|
12841
|
+
"kind": "TypeAlias",
|
|
12842
|
+
"canonicalReference": "@genesislcap/foundation-auth!MFA_TYPE:type",
|
|
12843
|
+
"docComment": "/**\n * MFA delivery mechanism returned on MFA_REQUIRED / MFA_FAILED NACKs (AUTH-473).\n *\n * @public\n */\n",
|
|
12844
|
+
"excerptTokens": [
|
|
12845
|
+
{
|
|
12846
|
+
"kind": "Content",
|
|
12847
|
+
"text": "export type MFA_TYPE = "
|
|
12848
|
+
},
|
|
12849
|
+
{
|
|
12850
|
+
"kind": "Content",
|
|
12851
|
+
"text": "'NOTIFY' | 'QR_CODE'"
|
|
12852
|
+
},
|
|
12853
|
+
{
|
|
12854
|
+
"kind": "Content",
|
|
12855
|
+
"text": ";"
|
|
12856
|
+
}
|
|
12857
|
+
],
|
|
12858
|
+
"fileUrlPath": "src/dto/EVENT_LOGIN_AUTH_NACK.ts",
|
|
12859
|
+
"releaseTag": "Public",
|
|
12860
|
+
"name": "MFA_TYPE",
|
|
12861
|
+
"typeTokenRange": {
|
|
12862
|
+
"startIndex": 1,
|
|
12863
|
+
"endIndex": 2
|
|
12864
|
+
}
|
|
12865
|
+
},
|
|
12729
12866
|
{
|
|
12730
12867
|
"kind": "TypeAlias",
|
|
12731
12868
|
"canonicalReference": "@genesislcap/foundation-auth!MFACredentials:type",
|
|
12732
|
-
"docComment": "/**\n * @remarks\n *\n * Will be sourced from MFA_CODE in url params.\n *\n * @public\n */\n",
|
|
12869
|
+
"docComment": "/**\n * @remarks\n *\n * Will be sourced from MFA_CODE in url params. Set `mfaResend` to request a new code without submitting one (AUTH-473 / FUI-2625).\n *\n * @public\n */\n",
|
|
12733
12870
|
"excerptTokens": [
|
|
12734
12871
|
{
|
|
12735
12872
|
"kind": "Content",
|
|
@@ -12755,7 +12892,7 @@
|
|
|
12755
12892
|
},
|
|
12756
12893
|
{
|
|
12757
12894
|
"kind": "Content",
|
|
12758
|
-
"text": ";\n mfaToken
|
|
12895
|
+
"text": ";\n mfaToken?: string;\n mfaResend?: boolean;\n}"
|
|
12759
12896
|
},
|
|
12760
12897
|
{
|
|
12761
12898
|
"kind": "Content",
|
|
@@ -423,6 +423,10 @@ export declare interface AuthMachineContext extends MachineContext {
|
|
|
423
423
|
* The user, either authenticated or anonymous.
|
|
424
424
|
*/
|
|
425
425
|
user: User;
|
|
426
|
+
/**
|
|
427
|
+
* MFA delivery type from the latest MFA_REQUIRED / MFA_FAILED NACK (AUTH-473).
|
|
428
|
+
*/
|
|
429
|
+
mfaType?: MFA_TYPE;
|
|
426
430
|
}
|
|
427
431
|
|
|
428
432
|
/**
|
|
@@ -1264,7 +1268,9 @@ export declare interface EVENT_LOGIN_AUTH extends MESSAGE {
|
|
|
1264
1268
|
readonly JWT: string;
|
|
1265
1269
|
readonly DOMAIN: string;
|
|
1266
1270
|
} | {
|
|
1267
|
-
readonly MFA_CODE
|
|
1271
|
+
readonly MFA_CODE?: string;
|
|
1272
|
+
/** When true, requests a new MFA code (AUTH-473). */
|
|
1273
|
+
readonly MFA_RESEND?: boolean;
|
|
1268
1274
|
};
|
|
1269
1275
|
}
|
|
1270
1276
|
|
|
@@ -1314,6 +1320,10 @@ export declare interface EVENT_LOGIN_AUTH_NACK extends NACK {
|
|
|
1314
1320
|
*/
|
|
1315
1321
|
readonly REFRESH_AUTH_TOKEN: string;
|
|
1316
1322
|
readonly REFRESH_TOKEN_EXPIRATION_MINS: number;
|
|
1323
|
+
/**
|
|
1324
|
+
* MFA type when MFA is required or has failed (AUTH-473).
|
|
1325
|
+
*/
|
|
1326
|
+
readonly MFA_TYPE?: MFA_TYPE;
|
|
1317
1327
|
}
|
|
1318
1328
|
|
|
1319
1329
|
/**
|
|
@@ -2268,8 +2278,11 @@ export declare interface LoginNack extends Nack {
|
|
|
2268
2278
|
readonly hasIncorrectCredentials: boolean;
|
|
2269
2279
|
readonly maxTriesReached: boolean;
|
|
2270
2280
|
readonly isMFARequired: boolean;
|
|
2281
|
+
readonly isMFAFailed: boolean;
|
|
2271
2282
|
readonly hasPasswordExpired: boolean;
|
|
2272
2283
|
readonly requiresTermsAndConditions: boolean;
|
|
2284
|
+
/** MFA delivery type from AUTH-473 (`NOTIFY` | `QR_CODE`). */
|
|
2285
|
+
readonly mfaType?: MFA_TYPE;
|
|
2273
2286
|
}
|
|
2274
2287
|
|
|
2275
2288
|
/**
|
|
@@ -2428,14 +2441,22 @@ export declare interface MessageMapper<TLookup extends MessageMapperLookup, K ex
|
|
|
2428
2441
|
*/
|
|
2429
2442
|
export declare type MessageMapperLookup = Record<string, Mapper<unknown, unknown>>;
|
|
2430
2443
|
|
|
2444
|
+
/**
|
|
2445
|
+
* MFA delivery mechanism returned on MFA_REQUIRED / MFA_FAILED NACKs (AUTH-473).
|
|
2446
|
+
* @public
|
|
2447
|
+
*/
|
|
2448
|
+
export declare type MFA_TYPE = 'NOTIFY' | 'QR_CODE';
|
|
2449
|
+
|
|
2431
2450
|
/**
|
|
2432
2451
|
* @remarks
|
|
2433
2452
|
* Will be sourced from MFA_CODE in url params.
|
|
2453
|
+
* Set `mfaResend` to request a new code without submitting one (AUTH-473 / FUI-2625).
|
|
2434
2454
|
* @public
|
|
2435
2455
|
*/
|
|
2436
2456
|
export declare type MFACredentials = {
|
|
2437
2457
|
type: CredentialType_2 & CredentialType_2.MFA;
|
|
2438
|
-
mfaToken
|
|
2458
|
+
mfaToken?: string;
|
|
2459
|
+
mfaResend?: boolean;
|
|
2439
2460
|
};
|
|
2440
2461
|
|
|
2441
2462
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-auth",
|
|
3
3
|
"description": "Genesis Foundation Auth",
|
|
4
|
-
"version": "15.46.1",
|
|
4
|
+
"version": "15.46.2-FUI-2625.1",
|
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/foundation-auth.d.ts",
|
|
@@ -134,24 +134,24 @@
|
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
136
|
"devDependencies": {
|
|
137
|
-
"@genesislcap/foundation-testing": "15.46.1",
|
|
138
|
-
"@genesislcap/genx": "15.46.1",
|
|
139
|
-
"@genesislcap/ts-builder": "15.46.1",
|
|
140
|
-
"@genesislcap/uvu-playwright-builder": "15.46.1",
|
|
141
|
-
"@genesislcap/vite-builder": "15.46.1",
|
|
142
|
-
"@genesislcap/webpack-builder": "15.46.1"
|
|
137
|
+
"@genesislcap/foundation-testing": "15.46.2-FUI-2625.1",
|
|
138
|
+
"@genesislcap/genx": "15.46.2-FUI-2625.1",
|
|
139
|
+
"@genesislcap/ts-builder": "15.46.2-FUI-2625.1",
|
|
140
|
+
"@genesislcap/uvu-playwright-builder": "15.46.2-FUI-2625.1",
|
|
141
|
+
"@genesislcap/vite-builder": "15.46.2-FUI-2625.1",
|
|
142
|
+
"@genesislcap/webpack-builder": "15.46.2-FUI-2625.1"
|
|
143
143
|
},
|
|
144
144
|
"dependencies": {
|
|
145
|
-
"@genesislcap/foundation-comms": "15.46.1",
|
|
146
|
-
"@genesislcap/foundation-events": "15.46.1",
|
|
147
|
-
"@genesislcap/foundation-i18n": "15.46.1",
|
|
148
|
-
"@genesislcap/foundation-logger": "15.46.1",
|
|
149
|
-
"@genesislcap/foundation-state-machine": "15.46.1",
|
|
150
|
-
"@genesislcap/foundation-store": "15.46.1",
|
|
151
|
-
"@genesislcap/foundation-ui": "15.46.1",
|
|
152
|
-
"@genesislcap/foundation-user": "15.46.1",
|
|
153
|
-
"@genesislcap/foundation-utils": "15.46.1",
|
|
154
|
-
"@genesislcap/foundation-zero": "15.46.1",
|
|
145
|
+
"@genesislcap/foundation-comms": "15.46.2-FUI-2625.1",
|
|
146
|
+
"@genesislcap/foundation-events": "15.46.2-FUI-2625.1",
|
|
147
|
+
"@genesislcap/foundation-i18n": "15.46.2-FUI-2625.1",
|
|
148
|
+
"@genesislcap/foundation-logger": "15.46.2-FUI-2625.1",
|
|
149
|
+
"@genesislcap/foundation-state-machine": "15.46.2-FUI-2625.1",
|
|
150
|
+
"@genesislcap/foundation-store": "15.46.2-FUI-2625.1",
|
|
151
|
+
"@genesislcap/foundation-ui": "15.46.2-FUI-2625.1",
|
|
152
|
+
"@genesislcap/foundation-user": "15.46.2-FUI-2625.1",
|
|
153
|
+
"@genesislcap/foundation-utils": "15.46.2-FUI-2625.1",
|
|
154
|
+
"@genesislcap/foundation-zero": "15.46.2-FUI-2625.1",
|
|
155
155
|
"@microsoft/fast-components": "2.30.6",
|
|
156
156
|
"@microsoft/fast-element": "1.14.0",
|
|
157
157
|
"@microsoft/fast-foundation": "2.50.0",
|