documentation/content/applications/general/users/2fa.md
2025-02-27 18:56:07 +07:00

4.4 KiB

substitutions
2fa QR
{abbr}`2FA (two-factor authentication)` {abbr}`QR (Quick Response)` code

Two-factor authentication

Two-factor authentication (2FA) is a way to improve security, and prevent unauthorized persons from accessing user accounts.

Practically, {{ 2fa }} means storing a secret inside an authenticator, usually on a mobile phone, and exchanging a code from the authenticator when trying to log in.

This means an unauthorized user would need to guess the account password and have access to the authenticator, which is a more difficult proposition.

Requirements

:::{important} These lists are just examples. They are not endorsements of any specific software. :::

Phone-based authenticators are the easiest and most commonly used. Examples include:

Password managers are another option. Common examples include:

:::{note} The remainder of this document uses Google Authenticator as an example, as it is one of the most commonly used. This is not an endorsement of the product. :::

Two-factor authentication setup

After selecting an authenticator, log in to Odoo, then click the profile avatar in the upper-right corner, and select {guilabel}My Profile from the resulting drop-down menu.

Click the {guilabel}Account Security tab, then slide the {guilabel}Two-Factor Authentication toggle to active.

:::{figure} 2fa/account-security.png :align: center :::

This generates a {guilabel}Security Control pop-up window that requires password confirmation to continue. Enter the appropriate password, then click {guilabel}Confirm Password. Next, a {guilabel}Two-Factor Authentication Activation pop-up window appears, with a {{ QR }}.

:::{figure} 2fa/qr-code.png :align: center :::

Using the desired authenticator application, scan the {{ QR }} when prompted.

::::{tip} If scanning the screen is not possible (e.g. the setup is being completed on the same device as the authenticator application), clicking the provided {guilabel}Cannot scan it? link, or copying the secret to manually set up the authenticator, is an alternative.

:::{figure} 2fa/secret-visible.png :align: center :::

:::{figure} 2fa/input-secret.png :align: center ::: ::::

Afterwards, the authenticator should display a verification code.

:::{figure} 2fa/authenticator.png :align: center :::

Enter the code into the {guilabel}Verification Code field, then click {guilabel}Activate.

:::{figure} 2fa/2fa-enabled.png :align: center :::

Logging in

To confirm {{ 2fa }} setup is complete, log out of Odoo.

On the login page, input the username and password, then click {guilabel}Log in. On the {guilabel}Two-factor Authentication page, input the code provided by the chosen authenticator in the {guilabel}Authentication Code field, then click {guilabel}Log in.

:align: center
:alt: The login page with 2fa enabled.

:::{danger} If a user loses access to their authenticator, an administrator must deactivate {{ 2fa }} on the account before the user can log in. :::

Enforce two-factor authentication

To enforce the use of {{ 2fa }} for all users, first navigate to {menuselection}Main Odoo Dashboard --> Apps. Remove the {guilabel}Apps filter from the {guilabel}Search... bar, then search for 2FA by mail.

Click {guilabel}Install on the Kanban card for the {guilabel}2FA by mail module.

:align: center
:alt: The 2FA by mail module in the Apps directory.

After installation is complete, go to {guilabel}Settings app: Permissions. Tick the checkbox labeled, {guilabel}Enforce two-factor authentication. Then, use the radio buttons to choose whether to apply this setting to {guilabel}Employees only, or {guilabel}All users.

:::{note} Selecting {guilabel}All users applies the setting to portal users, in addition to employees. :::

:align: center
:alt: The enforce two factor setting in the Settings application.

Click {guilabel}Save to commit any unsaved changes.