OdooWiki OCA HUB

Authentication OpenID Connect

auth_oidc folder_open OCA/server-auth open_in_new
Sin categoría Licencia: AGPL-3

Este módulo permite a los usuarios iniciar sesión a través de un proveedor de OpenID Connect utilizando el flujo de código de autorización o el flujo implícito.

Tenga en cuenta que el flujo implícito no se recomienda porque expone los tokens de acceso al navegador y a los registros http.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 19.0

Permite a los usuarios iniciar sesión en Odoo con un proveedor de OpenID Connect (como Azure AD o Keycloak) en lugar de una contraseña local, utilizando el flujo de código de autorización o el flujo implícito.

Este módulo amplía la funcionalidad de inicio de sesión OAuth existente para que Odoo pueda actuar como cliente de un proveedor de identidad OpenID Connect. Los administradores configuran los proveedores en la misma pantalla que antes, donde aparecen nuevos campos: el flujo de autenticación, un mapeo de tokens, un secreto de cliente, una URL de token, una URL de JWKS y un verificador de código PKCE.

  • Hay tres flujos disponibles: OAuth2 simple, flujo de código de autorización de OpenID Connect y flujo implícito de OpenID Connect (marcado como no recomendado).
  • El mapeo de tokens permite traducir los nombres utilizados por el proveedor a los nombres que Odoo espera, por ejemplo, mapear el claim estándar sub a user_id.
  • El módulo incluye dos plantillas de proveedor de Azure AD deshabilitadas (multitenant y single tenant) y un proveedor de Keycloak de demostración.

Cuando un usuario hace clic en el botón del proveedor en la página de inicio de sesión, el módulo construye el enlace de autorización, añade un nonce y un desafío de código PKCE, y solicita el tipo de respuesta correcto. Después de que el proveedor responde, Odoo intercambia el código por tokens cuando se utiliza el flujo de código de autorización, valida el token de identidad contra las claves públicas del proveedor, mapea los claims e inicia la sesión del usuario. Si no se encuentra ningún token de acceso, ningún token de identidad o ningún identificador de usuario, se deniega el acceso. El módulo modifica auth.oauth.provider y res.users.

Depende de

auth_oauth

Lo necesitan otros módulos

Modelos y campos (2)
  • res.users · amplía un modelo existente
  • auth.oauth.provider · amplía un modelo existenteflow (Auth Flow), jwks_uri (JWKS URL), token_map, client_secret, code_verifier, token_endpoint (Token URL), validation_endpoint

Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.

Fuentes · Odoo 18.0

Confirmado el 2026-11-03 en la rama 18.0 de OCA/server-auth.

terminal Instalación y uso

Documentación de OCA · Odoo 19.0

Este módulo depende de la librería python-jose, que no debe confundirse con jose, que también está disponible en PyPI.

Configuración para Microsoft Azure

Ejemplo de configuración con el flujo de código de autorización de OpenID Connect.

  • configure una nueva aplicación web en Azure con OpenID y flujo de código (consulte

la documentación del proveedor))

  • en esta aplicación la url de redirección debe ser "\/auth_oauth/signin" y por supuesto esta URL debe ser accesible

desde Azure

  • cree un nuevo proveedor de autenticación en Odoo con los siguientes

parámetros (consulte la documentación del portal para más información):

El proveedor de inquilino único limita el acceso al usuario de su inquilino, mientras que Multitenants permite el acceso a todos los usuarios de AzureAD, por lo que los usuarios de empresas externas pueden usar su inicio de sesión de AzureAD sin una cuenta de invitado.

  • Provider Name: Azure AD Single Tenant
  • Client ID: Application (client) id
  • Client Secret: Client secret
  • Allowed: yes

o

  • Provider Name: Azure AD Multitenant
  • Client ID: Application (client) id
  • Client Secret: Client secret
  • Allowed: yes
  • reemplace {tenant_id} en las urls con su id de inquilino de Azure

Configuración para Keycloak

Ejemplo de configuración con el flujo de código de autorización de OpenID Connect.

En Keycloak:

  • configure un nuevo Client
  • asegúrese de que Authorization Code Flow esté

habilitado.

  • configure el Access Type del cliente como "confidential" y tome

nota del secreto del cliente en la pestaña Credentials

  • configure la

url de redirección para que sea "\/auth_oauth/signin"

En Odoo, cree un nuevo Oauth Provider con los siguientes parámetros:

  • Provider name: Keycloak (o cualquier nombre que le guste que identifique su proveedor de keycloak)
  • Auth Flow: OpenID Connect (authorization code flow)
  • Client ID: el mismo Client ID que ingresó al configurar el cliente en Keycloak
  • Client Secret: se encuentra en keycloak en la pestaña Credentials del cliente
  • Allowed: yes
  • Body: el texto del enlace que aparecerá en la página de inicio de sesión, como Login with Keycloak
  • Scope: openid email
  • Authentication URL: la URL "authorization_endpoint" que se encuentra en la OpenID Endpoint Configuration de su realm de Keycloak
  • Token URL: la URL "token_endpoint" que se encuentra en la OpenID Endpoint Configuration de su realm de Keycloak
  • JWKS URL: la URL "jwks_uri" que se encuentra en la OpenID Endpoint Configuration de su realm de Keycloak

En la página de inicio de sesión, haga clic en el proveedor de autenticación que configuró.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.