@axelor/aos-mobile-core 9.0.9 → 9.0.11

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.
Files changed (77) hide show
  1. package/lib/api/axios-init.d.ts +10 -0
  2. package/lib/api/axios-init.js +43 -0
  3. package/lib/api/axios-init.js.map +1 -0
  4. package/lib/api/index.d.ts +2 -1
  5. package/lib/api/index.js +2 -1
  6. package/lib/api/index.js.map +1 -1
  7. package/lib/api/login-api.d.ts +2 -16
  8. package/lib/api/login-api.js +13 -27
  9. package/lib/api/login-api.js.map +1 -1
  10. package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +2 -0
  11. package/lib/apiProviders/Standard/ObjectFieldsProvider.js +17 -2
  12. package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
  13. package/lib/apiProviders/Standard/index.d.ts +1 -1
  14. package/lib/apiProviders/Standard/index.js +1 -1
  15. package/lib/apiProviders/Standard/index.js.map +1 -1
  16. package/lib/apiProviders/Standard/requests.helper.d.ts +2 -1
  17. package/lib/apiProviders/Standard/requests.helper.js +7 -4
  18. package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
  19. package/lib/features/authSlice.d.ts +51 -4
  20. package/lib/features/authSlice.js +108 -13
  21. package/lib/features/authSlice.js.map +1 -1
  22. package/lib/i18n/translations/en.json +17 -0
  23. package/lib/i18n/translations/fr.json +17 -0
  24. package/lib/navigator/components/DrawerContent.d.ts +1 -1
  25. package/lib/navigator/components/DrawerContent.js +16 -7
  26. package/lib/navigator/components/DrawerContent.js.map +1 -1
  27. package/lib/navigator/components/menu/Menu.d.ts +4 -2
  28. package/lib/navigator/components/menu/Menu.js +8 -2
  29. package/lib/navigator/components/menu/Menu.js.map +1 -1
  30. package/lib/navigator/helpers/index.d.ts +1 -1
  31. package/lib/navigator/helpers/index.js +1 -1
  32. package/lib/navigator/helpers/index.js.map +1 -1
  33. package/lib/navigator/helpers/menu.helper.d.ts +5 -4
  34. package/lib/navigator/helpers/menu.helper.js +17 -6
  35. package/lib/navigator/helpers/menu.helper.js.map +1 -1
  36. package/lib/screens/LoginScreen.js +2 -1
  37. package/lib/screens/LoginScreen.js.map +1 -1
  38. package/lib/screens/SessionManagementScreen.js +2 -1
  39. package/lib/screens/SessionManagementScreen.js.map +1 -1
  40. package/lib/sessions/components/alerts/MfaVerificationPopup.d.ts +3 -0
  41. package/lib/sessions/components/alerts/MfaVerificationPopup.js +136 -0
  42. package/lib/sessions/components/alerts/MfaVerificationPopup.js.map +1 -0
  43. package/lib/sessions/components/alerts/index.d.ts +1 -0
  44. package/lib/sessions/components/alerts/index.js +1 -0
  45. package/lib/sessions/components/alerts/index.js.map +1 -1
  46. package/lib/sessions/components/inputs/MfaCodeInput.d.ts +10 -0
  47. package/lib/sessions/components/inputs/MfaCodeInput.js +38 -0
  48. package/lib/sessions/components/inputs/MfaCodeInput.js.map +1 -0
  49. package/lib/sessions/components/inputs/index.d.ts +1 -0
  50. package/lib/sessions/components/inputs/index.js +1 -0
  51. package/lib/sessions/components/inputs/index.js.map +1 -1
  52. package/lib/sessions/index.d.ts +1 -0
  53. package/lib/sessions/index.js +1 -0
  54. package/lib/sessions/index.js.map +1 -1
  55. package/lib/sessions/mfa/api.d.ts +7 -0
  56. package/lib/sessions/mfa/api.js +71 -0
  57. package/lib/sessions/mfa/api.js.map +1 -0
  58. package/lib/sessions/mfa/errors.d.ts +14 -0
  59. package/lib/sessions/mfa/errors.js +36 -0
  60. package/lib/sessions/mfa/errors.js.map +1 -0
  61. package/lib/sessions/mfa/index.d.ts +6 -0
  62. package/lib/sessions/mfa/index.js +23 -0
  63. package/lib/sessions/mfa/index.js.map +1 -0
  64. package/lib/sessions/mfa/type.d.ts +34 -0
  65. package/lib/sessions/mfa/type.js +35 -0
  66. package/lib/sessions/mfa/type.js.map +1 -0
  67. package/lib/sessions/mfa/use-email-code.d.ts +14 -0
  68. package/lib/sessions/mfa/use-email-code.js +74 -0
  69. package/lib/sessions/mfa/use-email-code.js.map +1 -0
  70. package/lib/sessions/mfa/utils.d.ts +7 -0
  71. package/lib/sessions/mfa/utils.js +60 -0
  72. package/lib/sessions/mfa/utils.js.map +1 -0
  73. package/lib/utils/object.d.ts +1 -1
  74. package/lib/utils/string.d.ts +3 -3
  75. package/lib/utils/string.js +5 -7
  76. package/lib/utils/string.js.map +1 -1
  77. package/package.json +8 -8
@@ -21,7 +21,7 @@ import { useDispatch, useSelector } from 'react-redux';
21
21
  import DeviceInfo from 'react-native-device-info';
22
22
  import { Text, Screen, KeyboardAvoidingScrollView } from '@axelor/aos-mobile-ui';
23
23
  import { login } from '../features/authSlice';
24
- import { sessionStorage, getStorageUrl, ErrorText, LogoImage, SessionInputs, } from '../sessions';
24
+ import { sessionStorage, getStorageUrl, ErrorText, LogoImage, MfaVerificationPopup, SessionInputs, } from '../sessions';
25
25
  const LoginScreen = ({ route }) => {
26
26
  const testInstanceConfig = route?.params?.testInstanceConfig;
27
27
  const releaseInstanceConfig = route?.params?.releaseInstanceConfig;
@@ -109,6 +109,7 @@ const LoginScreen = ({ route }) => {
109
109
  </View>
110
110
  </View>
111
111
  </KeyboardAvoidingScrollView>
112
+ <MfaVerificationPopup />
112
113
  </Screen>);
113
114
  };
114
115
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"file":"LoginScreen.js","sourceRoot":"","sources":["../../src/screens/LoginScreen.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginScreen.js","sourceRoot":"","sources":["../../src/screens/LoginScreen.js"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react';
19
19
  import { KeyboardAvoidingView, StyleSheet, View } from 'react-native';
20
20
  import { useDispatch } from 'react-redux';
21
21
  import { Text, Screen } from '@axelor/aos-mobile-ui';
22
- import { LogoImage, PopupCreateSession, PopupSession, SessionListCard, PopupEditSession, useSessions, } from '../sessions';
22
+ import { LogoImage, MfaVerificationPopup, PopupCreateSession, PopupSession, SessionListCard, PopupEditSession, useSessions, } from '../sessions';
23
23
  import { clearError } from '../features/authSlice';
24
24
  import { useSelector } from '../redux/hooks';
25
25
  const SessionManagementScreen = ({ route }) => {
@@ -85,6 +85,7 @@ const SessionManagementScreen = ({ route }) => {
85
85
  setPopupConnectionIsOpen(false);
86
86
  setPopupEditIsOpen(false);
87
87
  }} modeDebug={modeDebug}/>
88
+ <MfaVerificationPopup />
88
89
  </KeyboardAvoidingView>
89
90
  </Screen>);
90
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManagementScreen.js","sourceRoot":"","sources":["../../src/screens/SessionManagementScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvE,OAAO,EAAC,oBAAoB,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACpE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IAC1C,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC;IAC7D,MAAM,qBAAqB,GAAG,KAAK,EAAE,MAAM,EAAE,qBAAqB,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,EAAC,WAAW,EAAE,cAAc,EAAC,GAAG,WAAW,EAAE,CAAC;IAEpD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,qBAAqB,EAAE,YAAY,IAAI,IAAI,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC;IAErD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAC/C,CAAC;IAEF,MAAM,EAAC,UAAU,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACxC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE;QACjD,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,CAAC,MAAM,CACL;MAAA,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAC3D;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CACjC;YAAA,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EACnD;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,eAAe,CACd,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CACrD,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAC5C,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAC/C,OAAO,CAAC,CAAC,OAAO,CAAC,EAEnB;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CACrC;YAAA,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,+BAA+B,CAAC,EAAE,IAAI,CACjF;YAAA,CAAC,IAAI,CAAC,CAAC,WAAW,UAAU,EAAE,CAAC,EAAE,IAAI,CACvC;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,kBAAkB,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAC3B,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,CACvC,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,EAE/C;QAAA,CAAC,YAAY,CACX,aAAa,CAAC,CAAC,OAAO,CAAC,CACvB,WAAW,CAAC,CAAC,CAAC,eAAe,IAAI,qBAAqB,CAAC,CACvD,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CACnD,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,EAEzC;QAAA,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,WAAW,CAAC,CAAC,eAAe,CAAC,CAC7B,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,WAAW,CAAC,CAAC,GAAG,EAAE;YAChB,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAChC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CACF,SAAS,CAAC,CAAC,SAAS,CAAC,EAEzB;MAAA,EAAE,oBAAoB,CACxB;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,cAAc;KAC/B;IACD,cAAc,EAAE;QACd,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,KAAK;KAClB;IACD,kBAAkB,EAAE;QAClB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"SessionManagementScreen.js","sourceRoot":"","sources":["../../src/screens/SessionManagementScreen.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const MfaVerificationPopup: () => React.JSX.Element;
3
+ export default MfaVerificationPopup;
@@ -0,0 +1,136 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
19
+ import { ActivityIndicator, StyleSheet, View } from 'react-native';
20
+ import { Alert, Button, Label, Text, useThemeColor } from '@axelor/aos-mobile-ui';
21
+ import { cancelMfa, verifyMfa } from '../../../features/authSlice';
22
+ import { useDispatch, useSelector } from '../../../redux/hooks';
23
+ import { useTranslator } from '../../../i18n';
24
+ import { MFA_SUPPORTED_METHODS, MfaMethod, MfaVerifyErrorCode, getMfaDescriptionKey, getMfaMethodLabelKey, useEmailCode, } from '../../mfa';
25
+ import { MfaCodeInput } from '../inputs';
26
+ const MfaVerificationPopup = () => {
27
+ const Colors = useThemeColor();
28
+ const I18n = useTranslator();
29
+ const dispatch = useDispatch();
30
+ const { loading, mfaPending, mfaState, error, baseUrl } = useSelector(state => state.auth);
31
+ const username = useMemo(() => mfaState?.username ?? '', [mfaState?.username]);
32
+ const availableMethods = useMemo(() => (mfaState?.methods ?? []).filter(_m => MFA_SUPPORTED_METHODS.includes(_m)), [mfaState?.methods]);
33
+ const [activeAlert, setActiveAlert] = useState(null);
34
+ const [selectedMethod, setSelectedMethod] = useState();
35
+ const [code, setCode] = useState('');
36
+ const { retryCount, alert: emailAlert, send: sendEmail, reset: resetEmail, } = useEmailCode({
37
+ baseUrl,
38
+ username,
39
+ initialRetryAfter: mfaState?.emailRetryAfter,
40
+ });
41
+ useEffect(() => {
42
+ if (!mfaPending || !username)
43
+ return;
44
+ setSelectedMethod(availableMethods[0]);
45
+ setCode('');
46
+ resetEmail();
47
+ setActiveAlert(null);
48
+ }, [availableMethods, mfaPending, resetEmail, username]);
49
+ useEffect(() => {
50
+ if (emailAlert)
51
+ setActiveAlert(emailAlert);
52
+ }, [emailAlert]);
53
+ useEffect(() => {
54
+ switch (error?.message) {
55
+ case MfaVerifyErrorCode.INVALID_CODE:
56
+ setActiveAlert({
57
+ type: 'danger',
58
+ message: I18n.t('Auth_MFA_InvalidCode'),
59
+ });
60
+ return;
61
+ case MfaVerifyErrorCode.SESSION_LOST:
62
+ setActiveAlert({
63
+ type: 'danger',
64
+ message: I18n.t('Auth_MFA_SessionLost'),
65
+ });
66
+ return;
67
+ default:
68
+ return;
69
+ }
70
+ }, [I18n, error?.message]);
71
+ useEffect(() => {
72
+ if (loading)
73
+ setActiveAlert(null);
74
+ }, [loading]);
75
+ const handleMethodChange = useCallback((method) => {
76
+ if (method === selectedMethod)
77
+ return;
78
+ setSelectedMethod(method);
79
+ setCode('');
80
+ resetEmail();
81
+ if (method === MfaMethod.EMAIL && retryCount === -1) {
82
+ sendEmail();
83
+ }
84
+ }, [resetEmail, retryCount, selectedMethod, sendEmail]);
85
+ const handleVerify = useCallback(() => {
86
+ if (!selectedMethod || !code)
87
+ return;
88
+ dispatch(verifyMfa({ mfaCode: code, mfaMethod: selectedMethod }));
89
+ }, [code, dispatch, selectedMethod]);
90
+ const otherMethods = useMemo(() => availableMethods.filter(m => m !== selectedMethod), [availableMethods, selectedMethod]);
91
+ return (<Alert style={styles.alert} visible={!!mfaPending} title={I18n.t('Auth_MFA_Title')} cancelButtonConfig={{
92
+ showInHeader: true,
93
+ onPress: () => dispatch(cancelMfa()),
94
+ }} translator={I18n.t}>
95
+ <View style={styles.container}>
96
+ <Text style={styles.description}>
97
+ {I18n.t(getMfaDescriptionKey(selectedMethod))}
98
+ </Text>
99
+ {activeAlert && (<Label style={styles.alertLabel} type={activeAlert.type} message={activeAlert.message}/>)}
100
+ <MfaCodeInput value={code} onChange={setCode} selectedMethod={selectedMethod}/>
101
+ {loading ? (<ActivityIndicator size="large"/>) : (<Button title={I18n.t('Auth_MFA_Verify')} onPress={handleVerify} disabled={!code || !selectedMethod}/>)}
102
+ {selectedMethod === MfaMethod.EMAIL && retryCount !== -1 && (<Button title={retryCount === 0
103
+ ? I18n.t('Auth_MFA_ResendEmail')
104
+ : I18n.t('Auth_MFA_ResendEmailIn').replace('{{count}}', String(retryCount))} onPress={sendEmail} disabled={retryCount > 0 || loading} color={Colors.cautionColor}/>)}
105
+ {otherMethods.length > 0 && (<View style={styles.otherMethods}>
106
+ <Text>{I18n.t('Auth_MFA_OtherOptions')}</Text>
107
+ {otherMethods.map(method => (<Button key={method} title={I18n.t(getMfaMethodLabelKey(method))} onPress={() => handleMethodChange(method)} color={Colors.infoColor}/>))}
108
+ </View>)}
109
+ </View>
110
+ </Alert>);
111
+ };
112
+ const styles = StyleSheet.create({
113
+ alert: {
114
+ maxHeight: '90%',
115
+ },
116
+ container: {
117
+ alignItems: 'center',
118
+ width: '100%',
119
+ },
120
+ description: {
121
+ marginBottom: 10,
122
+ textAlign: 'center',
123
+ paddingHorizontal: 10,
124
+ },
125
+ otherMethods: {
126
+ width: '100%',
127
+ alignItems: 'center',
128
+ marginTop: 6,
129
+ },
130
+ alertLabel: {
131
+ width: '90%',
132
+ marginBottom: 5,
133
+ },
134
+ });
135
+ export default MfaVerificationPopup;
136
+ //# sourceMappingURL=MfaVerificationPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MfaVerificationPopup.js","sourceRoot":"","sources":["../../../../src/sessions/components/alerts/MfaVerificationPopup.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { default as MfaVerificationPopup } from './MfaVerificationPopup';
1
2
  export { default as PopupCreateSession } from './PopupCreateSession';
2
3
  export { default as PopupEditSession } from './PopupEditSession';
3
4
  export { default as PopupSession } from './PopupSession';
@@ -15,6 +15,7 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
+ export { default as MfaVerificationPopup } from './MfaVerificationPopup';
18
19
  export { default as PopupCreateSession } from './PopupCreateSession';
19
20
  export { default as PopupEditSession } from './PopupEditSession';
20
21
  export { default as PopupSession } from './PopupSession';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sessions/components/alerts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sessions/components/alerts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { MfaMethod } from '../../mfa';
3
+ interface MfaCodeInputProps {
4
+ style?: any;
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ selectedMethod?: MfaMethod;
8
+ }
9
+ declare const MfaCodeInput: ({ style, value, onChange, selectedMethod, }: MfaCodeInputProps) => React.JSX.Element;
10
+ export default MfaCodeInput;
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import React, { useMemo } from 'react';
19
+ import { StyleSheet } from 'react-native';
20
+ import { checkNullString, getCommonStyles, Icon, IconInput, useThemeColor, } from '@axelor/aos-mobile-ui';
21
+ import { useTranslator } from '../../../i18n';
22
+ import { getMfaPlaceholderKey } from '../../mfa';
23
+ const MfaCodeInput = ({ style, value, onChange, selectedMethod, }) => {
24
+ const Colors = useThemeColor();
25
+ const I18n = useTranslator();
26
+ const commonStyles = useMemo(() => getCommonStyles(Colors, checkNullString(value)), [Colors, value]);
27
+ return (<IconInput style={[style, commonStyles.inputFocused]} value={value} onChange={onChange} placeholder={I18n.t(getMfaPlaceholderKey(selectedMethod))} keyboardType="number-pad" required leftIconsList={[
28
+ <Icon name="shield-lock-fill" size={17} style={styles.icon}/>,
29
+ ]} onEndFocus={() => { }}/>);
30
+ };
31
+ const styles = StyleSheet.create({
32
+ icon: {
33
+ width: '7%',
34
+ margin: 3,
35
+ },
36
+ });
37
+ export default MfaCodeInput;
38
+ //# sourceMappingURL=MfaCodeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MfaCodeInput.js","sourceRoot":"","sources":["../../../../src/sessions/components/inputs/MfaCodeInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EACL,eAAe,EACf,eAAe,EACf,IAAI,EACJ,SAAS,EACT,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAY,oBAAoB,EAAC,MAAM,WAAW,CAAC;AAS1D,MAAM,YAAY,GAAG,CAAC,EACpB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,cAAc,GACI,EAAE,EAAE;IACtB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EACrD,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAC1C,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAC1D,YAAY,CAAC,YAAY,CACzB,QAAQ,CACR,aAAa,CAAC,CAAC;YACb,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAG;SAC/D,CAAC,CACF,UAAU,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EACrB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { default as DefaultCheckbox } from './DefaultCheckbox';
2
+ export { default as MfaCodeInput } from './MfaCodeInput';
2
3
  export { default as PasswordInput } from './PasswordInput';
3
4
  export { default as SessionInputs } from './SessionInputs';
4
5
  export { default as SessionNameInput } from './SessionNameInput';
@@ -16,6 +16,7 @@
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
18
  export { default as DefaultCheckbox } from './DefaultCheckbox';
19
+ export { default as MfaCodeInput } from './MfaCodeInput';
19
20
  export { default as PasswordInput } from './PasswordInput';
20
21
  export { default as SessionInputs } from './SessionInputs';
21
22
  export { default as SessionNameInput } from './SessionNameInput';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sessions/components/inputs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sessions/components/inputs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"}
@@ -3,3 +3,4 @@ export { Session, URL_STORAGE_KEY } from './type';
3
3
  export { sessionStorage } from './SessionStorage';
4
4
  export { getStorageUrl, saveUrlInStorage } from './utils';
5
5
  export * from './components';
6
+ export * from './mfa';
@@ -20,4 +20,5 @@ export { URL_STORAGE_KEY } from './type';
20
20
  export { sessionStorage } from './SessionStorage';
21
21
  export { getStorageUrl, saveUrlInStorage } from './utils';
22
22
  export * from './components';
23
+ export * from './mfa';
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAU,eAAe,EAAC,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACxD,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAU,eAAe,EAAC,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { EmailCodeResponse, MfaMethod, SessionResult } from './type';
2
+ export declare function verifyMfaApi(url: string, { username, mfaCode, mfaMethod, }: {
3
+ username: string;
4
+ mfaCode: string;
5
+ mfaMethod: MfaMethod;
6
+ }): Promise<SessionResult>;
7
+ export declare function sendEmailVerificationCode(url: string, username: string): Promise<EmailCodeResponse>;
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import axios from 'axios';
19
+ import { initAxiosWithHeaders } from '../../api/axios-init';
20
+ import { MfaEmailError, MfaVerifyError } from './errors';
21
+ import { isMfaRouteResponse } from './utils';
22
+ import { MfaEmailErrorCode, MfaVerifyErrorCode, } from './type';
23
+ const CALLBACK_PATH = 'callback';
24
+ const MFA_CLIENT_PARAM = 'client_name=MfaClient';
25
+ const EMAIL_CODE_PATH = 'ws/public/mfa/email-code/send';
26
+ export async function verifyMfaApi(url, { username, mfaCode, mfaMethod, }) {
27
+ let res;
28
+ try {
29
+ res = await axios.post(`${url}${CALLBACK_PATH}?${MFA_CLIENT_PARAM}`, {
30
+ username,
31
+ mfaCode,
32
+ mfaMethod,
33
+ });
34
+ }
35
+ catch (e) {
36
+ if (e?.response?.status === 401)
37
+ throw new MfaVerifyError(MfaVerifyErrorCode.INVALID_CODE);
38
+ if (e?.response?.status === 403)
39
+ throw new MfaVerifyError(MfaVerifyErrorCode.SESSION_LOST);
40
+ throw e;
41
+ }
42
+ if (res.headers['x-csrf-token'] == null || isMfaRouteResponse(res.data)) {
43
+ throw new MfaVerifyError(MfaVerifyErrorCode.INVALID_CODE);
44
+ }
45
+ return { kind: 'session', ...initAxiosWithHeaders(res, url) };
46
+ }
47
+ export async function sendEmailVerificationCode(url, username) {
48
+ try {
49
+ const res = await axios.post(`${url}${EMAIL_CODE_PATH}`, { username });
50
+ return (res.data ?? {});
51
+ }
52
+ catch (e) {
53
+ const status = e?.response?.status;
54
+ const data = (e?.response?.data ?? {});
55
+ if (status === 429) {
56
+ throw new MfaEmailError(MfaEmailErrorCode.TOO_MANY_REQUESTS, {
57
+ emailRetryAfter: data.emailRetryAfter,
58
+ serverMessage: data.message,
59
+ });
60
+ }
61
+ if (status === 403) {
62
+ throw new MfaEmailError(MfaEmailErrorCode.FORBIDDEN, {
63
+ serverMessage: data.message,
64
+ });
65
+ }
66
+ throw new MfaEmailError(MfaEmailErrorCode.FAILED, {
67
+ serverMessage: data.message,
68
+ });
69
+ }
70
+ }
71
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/sessions/mfa/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,EAEL,iBAAiB,EAEjB,kBAAkB,GAEnB,MAAM,QAAQ,CAAC;AAEhB,MAAM,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,EACE,QAAQ,EACR,OAAO,EACP,SAAS,GACiD;IAE5D,IAAI,GAAG,CAAC;IACR,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,aAAa,IAAI,gBAAgB,EAAE,EAAE;YACnE,QAAQ;YACR,OAAO;YACP,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG;YAC7B,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG;YAC7B,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,CAAC,CAAC;IACV,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAW,EACX,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,eAAe,EAAE,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAsB,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAsB,CAAC;QAE5D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBAC3D,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,aAAa,EAAE,IAAI,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACnD,aAAa,EAAE,IAAI,CAAC,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAChD,aAAa,EAAE,IAAI,CAAC,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { MfaEmailErrorCode, MfaVerifyErrorCode } from './type';
2
+ export declare class MfaVerifyError extends Error {
3
+ code: MfaVerifyErrorCode;
4
+ constructor(code: MfaVerifyErrorCode, message?: string);
5
+ }
6
+ export declare class MfaEmailError extends Error {
7
+ code: MfaEmailErrorCode;
8
+ emailRetryAfter?: string;
9
+ serverMessage?: string;
10
+ constructor(code: MfaEmailErrorCode, { emailRetryAfter, serverMessage, }?: {
11
+ emailRetryAfter?: string;
12
+ serverMessage?: string;
13
+ });
14
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export class MfaVerifyError extends Error {
19
+ code;
20
+ constructor(code, message) {
21
+ super(message ?? code);
22
+ this.code = code;
23
+ }
24
+ }
25
+ export class MfaEmailError extends Error {
26
+ code;
27
+ emailRetryAfter;
28
+ serverMessage;
29
+ constructor(code, { emailRetryAfter, serverMessage, } = {}) {
30
+ super(serverMessage ?? code);
31
+ this.code = code;
32
+ this.emailRetryAfter = emailRetryAfter;
33
+ this.serverMessage = serverMessage;
34
+ }
35
+ }
36
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/sessions/mfa/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAqB;IAEzB,YAAY,IAAwB,EAAE,OAAgB;QACpD,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,CAAoB;IACxB,eAAe,CAAU;IACzB,aAAa,CAAU;IAEvB,YACE,IAAuB,EACvB,EACE,eAAe,EACf,aAAa,MACyC,EAAE;QAE1D,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export * from './api';
2
+ export * from './errors';
3
+ export * from './type';
4
+ export * from './utils';
5
+ export { useEmailCode } from './use-email-code';
6
+ export type { EmailAlert } from './use-email-code';
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export * from './api';
19
+ export * from './errors';
20
+ export * from './type';
21
+ export * from './utils';
22
+ export { useEmailCode } from './use-email-code';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sessions/mfa/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ export declare enum MfaMethod {
2
+ TOTP = "TOTP",
3
+ EMAIL = "EMAIL",
4
+ RECOVERY = "RECOVERY"
5
+ }
6
+ export declare enum MfaVerifyErrorCode {
7
+ INVALID_CODE = "MFA_INVALID_CODE",
8
+ SESSION_LOST = "MFA_SESSION_LOST"
9
+ }
10
+ export declare enum MfaEmailErrorCode {
11
+ TOO_MANY_REQUESTS = "MFA_EMAIL_TOO_MANY_REQUESTS",
12
+ FORBIDDEN = "MFA_EMAIL_FORBIDDEN",
13
+ FAILED = "MFA_EMAIL_FAILED"
14
+ }
15
+ export interface MfaChallenge {
16
+ methods: MfaMethod[];
17
+ username: string;
18
+ emailRetryAfter?: string;
19
+ }
20
+ export interface SessionResult {
21
+ kind: 'session';
22
+ token: string;
23
+ jsessionId: string | undefined;
24
+ requestInterceptorId: number;
25
+ responseInterceptorId: number;
26
+ }
27
+ export interface MfaResult extends MfaChallenge {
28
+ kind: 'mfa';
29
+ }
30
+ export type LoginResult = SessionResult | MfaResult;
31
+ export interface EmailCodeResponse {
32
+ message?: string;
33
+ emailRetryAfter?: string;
34
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export var MfaMethod;
19
+ (function (MfaMethod) {
20
+ MfaMethod["TOTP"] = "TOTP";
21
+ MfaMethod["EMAIL"] = "EMAIL";
22
+ MfaMethod["RECOVERY"] = "RECOVERY";
23
+ })(MfaMethod || (MfaMethod = {}));
24
+ export var MfaVerifyErrorCode;
25
+ (function (MfaVerifyErrorCode) {
26
+ MfaVerifyErrorCode["INVALID_CODE"] = "MFA_INVALID_CODE";
27
+ MfaVerifyErrorCode["SESSION_LOST"] = "MFA_SESSION_LOST";
28
+ })(MfaVerifyErrorCode || (MfaVerifyErrorCode = {}));
29
+ export var MfaEmailErrorCode;
30
+ (function (MfaEmailErrorCode) {
31
+ MfaEmailErrorCode["TOO_MANY_REQUESTS"] = "MFA_EMAIL_TOO_MANY_REQUESTS";
32
+ MfaEmailErrorCode["FORBIDDEN"] = "MFA_EMAIL_FORBIDDEN";
33
+ MfaEmailErrorCode["FAILED"] = "MFA_EMAIL_FAILED";
34
+ })(MfaEmailErrorCode || (MfaEmailErrorCode = {}));
35
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/sessions/mfa/type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,kCAAqB,CAAA;AACvB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;AACnC,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,sEAAiD,CAAA;IACjD,sDAAiC,CAAA;IACjC,gDAA2B,CAAA;AAC7B,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
@@ -0,0 +1,14 @@
1
+ export type EmailAlert = {
2
+ type: 'success' | 'danger';
3
+ message: string;
4
+ };
5
+ export declare function useEmailCode({ baseUrl, username, initialRetryAfter, }: {
6
+ baseUrl?: string;
7
+ username: string;
8
+ initialRetryAfter?: string;
9
+ }): {
10
+ retryCount: number;
11
+ alert: EmailAlert;
12
+ send: () => Promise<void>;
13
+ reset: () => void;
14
+ };