You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Making the complex simple
After reviewing and feedback we released 2.0 of the module. Please upgrade to this version!
When your mark this module as your favorite marketplace content you will receive notifications about new releases.
Breaking change:
- We removed the capability to use MFA from login.html (too complex)
Improvements:
- Max login attempts and Max MFA attempts can be configured with constants (default is 3)
- After these attempts the user will be blocked according to the Mendix platform default and is released after 5 minutes (but read https://docs.mendix.com/refguide/login-behavior)
- Improved logging message when user is blocked (so it's in line with unblocks by the Core runtime)
Changed components:
- SUB_MFA_Validate
- MultiFactorAuthLoginAction.java
- New contstants MaxLoginAttempts and MaxAttemptsMFA
We depricated the login.html compatibility in commbination of MFA. This will make the code more simple and safer.
29
+
28
30
## How did we prove that this module is secure?
29
31
At the point in time after login in the first step:
30
32
@@ -39,7 +41,6 @@ Scenarios to cover:
39
41
- Default login via login.html for accounts with MFA disabled.
40
42
- Default login via widgets for accounts with MFA disabled.
41
43
- Default login for webservice and REST accounts.
42
-
- Login by a customized login.html with MFA enabled (login-with-mfa.html + login-mfa.js + Authenticator app code only. Not compatible code sent by SMS or E-mail).
43
44
- Login by default widgets but extended with ability to enter MFA code with MFA enabled.
44
45
- Native mobile login
45
46
@@ -79,9 +80,7 @@ After startup configuration:
79
80
80
81
4. Add snippet `SN_MFA_LoginPage` / `SN_Login_Native` to your login page
81
82
82
-
5. If applicable move the `login-with-mfa.html` and `js/login-mfa.js` from the resources directory to your theme directory to support login actions with MFA from these pages.
83
-
84
-
6. Set the constant `EnabledMFA` to true to get started!
83
+
5. Set the constant `EnabledMFA` to true to get started!
85
84
86
85
**Keep in mind when upgrading the module from the Appstore in the future:**
87
86
@@ -99,20 +98,6 @@ For native mobile we needed to change the sign in nanoflow activity to save the
99
98
100
99
When extending the LoginAction class and trying to set parameters from this class in our extended class, we found out this was not possible in combination with the super.execute() method. We decided to use createSession. We have already validated the username and password in the first step and the MFA object can't be modified/created by the anonymous user (and is also checked twice).
101
100
102
-
We also wanted the module to be compatible via a login.html variant and the custom login-with-mfa.html. Therefore, it is necessary to send the MFA code together with your username and password. We need to pass this MFA code through the header because the payload is stripped by the Core LoginAction functionality.
Have you found an issue or a vulnerability in this module, please reach out to [pim@appronto.nl](mailto:pim@appronto.nl). I will reward you with a nice goodie bag and will publish the new version to the Marketplace.
0 commit comments