OdooWiki OCA HUB
Sin categoría Licencia: LGPL-3

Autenticar solicitudes http mediante una clave de API.

Las claves de API son códigos que los programas que llaman a una API pasan (en el encabezado http API-KEY) para identificar, en este caso, al usuario del programa que realiza la llamada.

Tenga cuidado al utilizar este tipo de mecanismo, ya que la información de los encabezados http es visible en claro. Por lo tanto, utilícelo solo para autenticar solicitudes de fuentes conocidas.

Para fuentes desconocidas, es una buena práctica filtrar este encabezado a nivel de proxy.

Odoo permite a los usuarios autenticar llamadas XMLRPC/JSONRPC utilizando su clave de API en lugar de una contraseña mediante las claves de API nativas (res.users.apikey). Sin embargo, auth_api_key tiene algunas características especiales propias, como:

  • Las claves de API siguen siendo utilizables incluso cuando el usuario está inactivo, si se habilitan mediante ajustes (por ejemplo, para usuarios del sistema en un caso de shopinvader).
  • Admite autenticación dual mediante Basic Auth y API_KEY en encabezados HTTP separados.
  • Los administradores pueden gestionar las claves de API de todos los usuarios

Dadas estas ventajas, particularmente en casos de uso como la autenticación de usuarios del sistema, hemos decidido mantener el módulo auth_api_key

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 administradores crear claves API que los programas pueden usar para iniciar sesión en Odoo en lugar de una contraseña, y controlar si esas claves siguen funcionando cuando el usuario vinculado se archiva.

Este módulo añade una nueva pantalla para gestionar claves API. Cada clave tiene un nombre, un valor secreto y un usuario; las solicitudes que envían la clave en una cabecera HTTP API-KEY se procesan como ese usuario. Las claves se crean desde el menú "Auth Api Key" (bajo el menú Custom) o a través de las vistas de lista y formulario, y el formulario ofrece un botón "Generate Random Token" que crea un secreto aleatorio seguro. Los nombres de las claves deben ser únicos, y una clave no puede guardarse vacía.

Aparece un ajuste en los ajustes generales, "Disable API key when archiving user". Cuando está habilitado, archivar un usuario archiva automáticamente sus claves API, por lo que esas claves dejan de funcionar; el cambio no es retroactivo. Cuando está deshabilitado, las claves siguen siendo utilizables incluso para usuarios inactivos.

Solo los usuarios del grupo de administradores del sistema pueden leer, crear, modificar o eliminar claves API, y solo ellos pueden buscar una clave durante la autenticación. El módulo también modifica el manejo de solicitudes HTTP para que las rutas protegidas por autenticación de clave API acepten la cabecera API-KEY, incluso en respuestas de verificación previa de origen cruzado (CORS). Extiende res.company y res.config.settings para la opción de archivado y ir.http para el método de autenticación.

Depende de

base_setup
Modelos y campos (3)
  • res.company · amplía un modelo existentearchived_user_disable_auth_api_key (Disable API key for archived user)
  • auth.api.key · modelo nuevokey, name, active, user_id (User)
  • res.config.settings · amplía un modelo existentearchived_user_disable_auth_api_key

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 13.0

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

terminal Instalación y uso

Documentación de OCA · Odoo 19.0

El menú de claves API está disponible en Ajustes \> Técnico en modo debug. Por defecto, cuando creas una clave API, la clave se guarda en la base de datos.

Cuando creas una clave API, se genera automáticamente una clave aleatoria. Puedes reemplazarla manualmente, o usar el botón Generate Random Token si un registro existente no tiene clave. El campo de la clave está enmascarado por defecto, y el widget password proporciona un botón para revelar el valor cuando sea necesario.

Cuando una base de datos se neutraliza, los valores de las claves API almacenadas se borran.

Si quieres gestionarlas mediante la configuración del entorno del servidor, usa auth_api_key_server_env.

Para aplicar este sistema de autenticación a tu petición http debes establecer 'api_key' como valor para el parámetro 'auth' de la definición de tu ruta en tu controlador.

class MyController(Controller):

    @route('/my_service', auth='api_key', ...)
    def my_service(self, *args, **kwargs):
        pass

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

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.