| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 238 |
| Technical Name |
kw_2fa |
| License | LGPL-3 |
| Website | https://kitworks.systems/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 238 |
| Technical Name |
kw_2fa |
| License | LGPL-3 |
| Website | https://kitworks.systems/ |
| Versions | 18.0 19.0 |
What this module does
Forces every user to enable TOTP two-factor authentication on first login. Blocks system access until 2FA is configured. Compatible with any standard authenticator app.
Mandatory enrollment
Every user must configure TOTP before accessing the system. Existing users are prompted on next login.
Standard authenticator apps
Works with Google Authenticator, Microsoft Authenticator, Authy and any RFC 6238 compatible app.
Block until enabled
Login is denied with a clear message until 2FA setup is complete. No backdoor for unenrolled accounts.
Audit-friendly
Built on top of the standard auth_totp module so all enrolment history flows through native logs.
See it in action
First login forces TOTP enrolment. Scan once with any authenticator and you are in.
Need help?
Questions, customisation or paid support — we’ll get back the same business day.
Please log in to comment on this module
How to use this app after install/activate
is there any documentation on how to use i?
I really dont see any difference. Odoo already have google authenticator. So why would I need this? How do I change settings or enforce your app to makesure authenticator is enforced
How to use this app after install/activate
What kw_2fa does vs. Odoo's built-in TOTP
Odoo's built-in auth_totp (which this module builds on) gives users an option to enable 2FA. Each user can choose to enable or skip it via their profile settings. Admins can suggest it but cannot truly force it.
kw_2fa enforces it — no opt-out. That's the entire point.
How enforcement works
The key override is in models/res_users.py:22-25:
def _mfa_type(self): if self.id == self.env.ref('base.user_root').id: return super()._mfa_type() # admin can bypass return 'totp' # everyone else: TOTP forcedAnd line 27-29:
def _mfa_url(self): if not self.totp_enabled: return '/kw_2fa/setup_totp' # redirect to QR setup, not loginSo:
Settings / Configuration
There are no UI settings to toggle — enforcement is absolute by design. The only things you can change are in the source code:
To use it: install the module. That's it — it activates immediately for all non-admin users.
How to use this app after install/activate
is there any documentation on how to use i?
I really dont see any difference. Odoo already have google authenticator. So why would I need this? How do I change settings or enforce your app to makesure authenticator is enforced
How to use this app after install/activate
is there any documentation on how to use i?
I really dont see any difference. Odoo already have google authenticator. So why would I need this? How do I change settings or enforce your app to makesure authenticator is enforced