Autenticación de inicio de sesión de Microsoft Azure

La autenticación de inicio de sesión de Microsoft OAuth con Azure es una función útil que permite que los usuarios de Odoo inicien sesión con su cuenta de Microsoft Azure en su base de datos.

Esto es muy útil, en especial si la empresa usa un área de trabajo de Azure y quiere que los empleados se conecten a Odoo con su cuenta de Microsoft.

Advertencia

Las bases de datos que estén alojadas en Odoo.com no deben iniciar sesión con OAuth si el usuario es el propietario o administrador de la base de datos. Si esto ocurre, la base de datos se desvinculará de su cuenta de Odoo.com. Si configura OAuth para ese usuario, ya no podrá duplicar, cambiar el nombre o gestionar esa base de datos desde el portal de Odoo.com.

Configuración

Para poder integrar la función de inicio de sesión de Microsoft es necesario realizar la configuración entre Microsoft y Odoo.

Parámetros del sistema de Odoo

Primero active el modo de desarrollador y luego vaya a Ajustes ‣ Técnico ‣ Parámetros del sistema.

Click New and in the blank row that appears, add the following system parameter auth_oauth.authorization_header to the Key field, and set the Value to 1. Then click Save to finish.

Tablero de Microsoft Azure

Crear una nueva aplicación

Ya que configuró los parámetros de sistema desde Odoo, ahora debe crear una aplicación correspondiente dentro de Microsoft Azure. Para crear una nueva aplicación, vaya al portal de Microsoft Azure. Inicie sesión con la cuenta de la empresa de Microsoft Outlook Office 365, si no tiene una, inicie sesión con su cuenta de Microsoft personal.

Importante

Para poder realizar los siguientes pasos de configuración es necesario que inicie sesión con un usuario que tenga acceso de administrador a los ajustes de Azure.

Luego, vaya a la sección con el nombre Gestionar Microsoft Entra ID (antes conocido como Azure Active Directory). Por lo general, la ubicación de este enlace se encuentra en el centro de la página.

Haga clic en el icono Add (+) (Agregar) que se encuentra en el menú superior y después seleccione App registration (registro de aplicación) del menú desplegable. En la pantalla Register an application (registrar una aplicación) cambie el campo Name (nombre) a Inicio de sesión Odoo en OAuth u otro título que pueda reconocer. En la sección Supported account types (tipos de cuenta compatibles) seleccione la opción Accounts in this organizational directory only (Default Directory only - Single tenant) (Solo las cuentas de este directorio organizativo (solo el directorio predeterminado: inquilino único)).

Advertencia

Los tipos de cuentas compatibles (o «supported account types») varían según el tipo de cuenta de Microsoft y el propósito de OAuth. Por ejemplo, ¿el inicio de sesión es para usuarios dentro de una organización o para proporcionarle acceso de portal al cliente? La configuración anterior corresponde a los usuarios dentro de una organización.

Si el público objetivo serán los usuarios del portal, elija Personal Microsoft accounts only (solo cuentas personales de Microsoft). Si el público objetivo serán los usuarios de la empresa, elija Accounts in this organizational directory only (Default Directory only - Single tenant) (Solo las cuentas de este directorio organizativo (solo el directorio predeterminado: inquilino único)).

En la sección Redirect URL (URL de redirección), seleccione Web como la plataforma y después escriba https://<odoo base url>/auth_oauth/signin en el campo URL. La URL base de Odoo es el dominio canónico en el campo URL por el cual se puede acceder a su instancia de Odoo (por ejemplo, mibasededatos.odoo.com si usa Odoo.com como alojamiento). Después, haga clic en Registrar para crear la aplicación.

Autentificación

Para editar la autenticación de la nueva aplicación haga clic en Authentication (autenticación) que se encuentra en el menú de la izquierda. Haga esto después de que se le haya redirigido a los ajustes de la aplicación después del paso previo.

Después deberá elegir qué tipo de tokens son necesarios para la autenticación OAuth. Estos tokens no son monetarios, sino tokens de autenticación que se transfieren entre Microsoft y Odoo y además no tienen coste, solo se usan para propósitos de autenticación entre dos API. Vaya hasta la parte inferior de la pantalla y seleccione las casillas que digan Access tokens (used for implicit flows) (Tokens de acceso (para flujos implícitos)) y ID tokens (used for implicit and hybrid flows) (Tokens de ID (para flujos híbridos e implícitos)) para elegir los tokens que debe proporcionar el punto de conexión.

Ajustes de autenticación y tokens de punto de conexión.

Haga clic en Guardar para asegurar que sus cambios se guardaron.

Obtener las credenciales

Ya que se creó y autenticó la aplicación en la consola de Microsoft Azure, ahora necesitamos obtener las credenciales. Para hacerlo, haga clic en la opción Overview  (vista general) que se encuentra en la columna de la derecha. Seleccione y copie el Application (client) ID (identificador de aplicación [cliente]) en la ventana que aparece. Pegue esta credencial en el portapapeles o un bloc de notas, ya que usaremos esta credencial en Odoo más adelante.

Después de finalizar este paso, haga clic en Endpoints en la parte superior del menú y haga clic en el icono de copiar junto al campo Autorización del endpoint OAuth 2.0 (v2). Pegue este valor en el bloc de notas.

Credenciales de autorización de endpoint para la aplicación ID y OAuth 2.0 (V2)

Permisos de la API

Odoo needs permission to read the signed-in user’s profile information from Microsoft Graph during the OAuth flow. At minimum, ensure the delegated permission User.Read is granted on the Azure app registration. Otherwise, the login process may fail or be unable to correctly link the Microsoft account to the Odoo user.

Nota

User.Read is often added by default for new app registrations, but it should be explicitly verified here.

To configure this, click on the Manage menu item in the left-hand column, then:

  1. Click API permissions in the left menu.

  2. Click (+) Add a Permission.

  3. Select Microsoft Graph under Commonly Used Microsoft APIs.

  4. Choose Delegated Permissions.

  5. Search for User.Read, select it, and click Add permissions.

Configuración en Odoo

Finally, the last step in the Microsoft Azure OAuth configuration is to complete the setup in Odoo. Navigate to Settings ‣ Integrations and enable the checkbox for OAuth Authentication. Click Save to save the changes and refresh the page. Scroll down to the Integrations section, and click on OAuth Providers. Then click New.

Enter the Provider name as Azure. Paste the Application (client) ID from the previous section into the Client ID field. After completing this, paste the new OAuth 2.0 authorization endpoint (v2) value into the Authorization URL field.

Para el campo URL información del usuario, pegue la siguiente URL: https://graph.microsoft.com/oidc/userinfo

En el campo Enfoque, pegue el siguiente valor:openid profile email. Luego, el logo de Windows se puede usar como la clase CSS en la pantalla de inicio de sesión ingresando el siguiente valor: fa fa-fw fa-windows, en el campo Clase CSS.

Seleccione la casilla junto al campo Permitido para habilitar el proveedor OAuth. Finalmente, agregue Microsoft Azure al campo Etiqueta del botón de inicio de sesión. Este texto aparecerá junto al logo de Windows en la página de inicio de sesión.

Configuración del proveedor de Odoo en la aplicación Ajustes.

Haga clic en Guardar para guardar los cambios y completar la configuración de la autenticación de OAuth en Odoo.

Flujos de experiencia del usuario

Para que un usuario inicie sesión en Odoo usando Microsoft Azure, el usuario debe estar en la página de restablecimiento de contraseña de Odoo. Esta es la única manera en la que Odoo se puede vincular a la cuenta de Microsoft Azure e iniciar sesión.

Nota

Los usuarios ya existentes deben restablecer su contraseña para acceder a la página de restablecimiento de contraseña de Odoo. En el caso de los nuevos usuarios de Odoo, deben hacer clic en el enlace de la invitación de nuevo usuario que recibieron por correo electrónico y luego hacer clic en Microsoft Azure. Los usuarios no deben establecer una contraseña nueva.

Para iniciar sesión en Odoo por primera vez con el proveedor Microsoft Azure OAuth vaya a la página de restablecimiento de contraseña de Odoo (desde el enlace de la invitación de usuario nuevo). Debe aparecer una página para restablecer la contraseña. Allí, haga clic en la opción llamada Microsoft Azure, la página le redirigirá a la página de inicio de sesión de Microsoft.

Escriba el correo electrónico de Microsoft y haga clic en Siguiente. Siga el proceso para iniciar sesión en la cuenta. Si activa la A2F deberá completar un paso adicional.

Por último, después de iniciar sesión en su cuenta, la página le redireccionará a una página de permisos donde se le solicita al usuario Aceptar las condiciones en las que se menciona que la aplicación Odoo accederá a su información de Microsoft.