Cómo leer los mensajes del módulo
Varios mensajes llevan un hueco {} o %s donde el módulo pone un dato concreto: el nombre de la conexión, el dominio, una URL o el motivo del fallo. Ese dato es lo primero que tienes que leer, porque es lo que distingue un caso de otro.
Si todavía estás configurando el módulo, la guía de puesta en marcha recorre los ajustes; aquí vamos mensaje a mensaje.
Passkeys FIDO2: registro y autenticación
| Mensaje | Cuándo sale | Qué hacer |
|---|---|---|
Passkeys (FIDO2) need Odoo 18 or later: on this Odoo use "TOTP Only" or "Either". | Cuando pides passkeys en un Odoo anterior al 18 | Elige TOTP Only o Either, como indica el mensaje |
A user can have at most 5 active FIDO2 credentials (FR-044). Please revoke an existing credential before registering a new one. | Al registrar una credencial nueva con 5 ya activas | Revoca una credencial existente y registra la nueva |
py_webauthn is not installed. FIDO2 registration is unavailable. | Al intentar registrar FIDO2 sin py_webauthn | Revisa con quien administra el servidor de Odoo la falta de py_webauthn |
py_webauthn is not installed. | Versión corta del mismo aviso, en más de un punto del flujo FIDO2 | Lo mismo que la fila anterior |
Failed to generate FIDO2 registration options: {} | Al preparar el registro de una credencial | Lee el motivo que va tras los dos puntos |
FIDO2 registration verification failed: {} | Al verificar el registro | Lee el motivo y repite el registro |
Failed to generate FIDO2 authentication options: {} | Al preparar la autenticación con FIDO2 | Lee el motivo que acompaña al mensaje |
FIDO2 credential not found for this user. | El módulo no encuentra la credencial para ese usuario | Comprueba que la credencial es de ese usuario |
FIDO2 credential was registered for domain "{}" but current domain is "{}". Credential is invalid for this domain (FR-043). | El dominio actual no es el del registro | Entra por el dominio que indica el mensaje |
FIDO2 authentication verification failed: {} | Al verificar la autenticación | Lee el motivo que añade el mensaje |
En Odoo 17 no hay passkeys: el propio mensaje dice que necesitan Odoo 18 o posterior y te remite a TOTP Only o Either.
Conexiones OIDC: documento de descubrimiento e ID token
| Mensaje | Cuándo sale | Qué hacer |
|---|---|---|
The connection "%s" already has its OIDC settings: edit them instead of adding others. | Al añadir otra configuración OIDC a una conexión que ya la tiene | Edita la configuración existente |
Issuer URL is required to fetch the discovery document. | Al pedir el documento de descubrimiento sin Issuer URL | Indica la Issuer URL |
Failed to fetch OIDC discovery document from {}: {} | No se pudo obtener el documento desde esa URL | Revisa la URL y el motivo que muestra el mensaje |
JWKS URI is not configured. Fetch the discovery document first. | Falta la JWKS URI | Obtén primero el documento de descubrimiento |
ID token validation failed: malformed token ({}). | El ID token está mal formado | Lee el detalle entre paréntesis |
ID token validation failed: algorithm {!r} is not accepted. | El algoritmo del token no se acepta | Revisa con quien gestiona el IdP el algoritmo que nombra el mensaje |
ID token validation failed: JWKS not readable ({}). | No se pueden leer las claves JWKS | Lee el detalle entre paréntesis |
ID token validation failed: invalid signature. | La firma del token no es válida | Revísalo con quien gestiona el IdP |
ID token validation failed: missing claims. | Faltan claims en el token | Revísalo con quien gestiona el IdP |
ID token validation failed: issuer mismatch. | El emisor no coincide | Compara el emisor de la conexión OIDC con el del IdP |
ID token validation failed: audience mismatch. | La audiencia no coincide | Revisa la conexión OIDC con quien gestiona el IdP |
ID token validation failed: token expired. | El token ha caducado | Vuelve a iniciar el acceso |
ID token nonce mismatch: expected {} but got {} | El nonce recibido no es el esperado | Compara los dos valores que muestra el mensaje |
Todos los mensajes que empiezan por ID token validation failed salen al validar el token que devuelve el proveedor de identidad. La parte final te dice qué comprobación ha fallado.

Conexiones SAML y metadatos del IdP
| Mensaje | Cuándo sale | Qué hacer |
|---|---|---|
The connection "%s" already has its SAML settings: edit them instead of adding others. | Al añadir otra configuración SAML a una conexión que ya la tiene | Edita la configuración existente |
Single Logout (SLO) is enabled but no IdP SLO URL is provided. Please enter the IdP SLO URL or disable SLO. | SLO activado sin URL de SLO del IdP | Escribe la URL de SLO del IdP o desactiva SLO |
xml.etree.ElementTree is not available. | El módulo no encuentra xml.etree.ElementTree | Revísalo con quien administra el servidor de Odoo |
Failed to parse IdP metadata XML: {} | No se pudo leer el XML de metadatos del IdP | Revisa el XML y el motivo que añade el mensaje |
Mapeos, exenciones y registro de eventos
| Mensaje | Cuándo sale | Qué hacer |
|---|---|---|
Attribute mapping cannot belong to both a SAML config and an OIDC config. Please link it to exactly one. | El mapeo de atributos está ligado a SAML y a OIDC a la vez | Déjalo ligado a una sola configuración |
Attribute mapping must be linked to either a SAML config or an OIDC config. | El mapeo de atributos no está ligado a ninguna | Ligalo a una configuración SAML u OIDC |
Group mapping cannot belong to both a SAML config and an OIDC config. | El mapeo de grupos está ligado a las dos | Déjalo en una sola |
Group mapping must be linked to either a SAML config or an OIDC config. | El mapeo de grupos no está ligado a ninguna | Ligalo a una configuración SAML u OIDC |
Exemption expiry date must be today or in the future. Received: {} | La fecha de caducidad de la exención es pasada | Pon la fecha de hoy o una futura |
Editing not allowed: authentication event log records are append-only (tamper-evident audit trail). | Al intentar editar un registro de eventos de autenticación | Nada: el módulo no permite editarlos |
Deletion not allowed: authentication event log records are append-only (tamper-evident audit trail). | Al intentar borrar un registro de eventos | Nada: el módulo no permite borrarlos |

Los dos mensajes del registro de eventos no indican un fallo de configuración: el texto dice que esos registros solo admiten añadir entradas (append-only). Si buscas corregir algo, no es ahí.
Cómo te ayuda FlexigoTech
Si un mensaje no se aclara con su propio texto, podemos revisarlo contigo. FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida. El módulo está publicado en Odoo Apps para 17, 18, 19 y 20, a 9 € sin IVA por versión de Odoo, pago único. Si dudas de si te encaja, mira qué cubre y en qué versión, y los detalles de compra están en la página del módulo.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_event_log.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_fido2_credential.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_attribute_mapping.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_group_mapping.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_mfa_exemption.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_mfa_policy.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_oidc_config.py
- Código del módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_saml_config.py
- apps.odoo.com/apps/modules/20.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/17.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/18.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/19.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- flexigotech.com/en/services.html
