OdooWiki OCA HUB

Fastapi Auth API Key

fastapi_auth_api_key folder_open OCA/rest-framework open_in_new
Others Licencia: AGPL-3

Proporciona dependencias de FastAPI para la autenticación mediante 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 18.0

Te permite restringir qué claves API pueden llamar a cada endpoint de FastAPI asignando un grupo de claves API al endpoint.

Este módulo añade un campo de grupo de claves API a los registros de endpoint de FastAPI. En el formulario del endpoint, en el grupo de recursos, puedes elegir un auth.api.key.group.

  • Si el campo se deja vacío, todas las claves API pueden acceder a ese endpoint.
  • Si se establece un grupo, solo se aceptan las claves API que pertenecen a ese grupo; las demás claves reciben una respuesta "Unauthorized".

El módulo también proporciona la lógica de autenticación utilizada cuando se llama a un endpoint: lee la clave API de la cabecera HTTP (por defecto HTTP-API-KEY, configurable mediante una variable de entorno), busca la clave y la comprueba contra el grupo del endpoint. Las claves ausentes o no válidas devuelven una respuesta 401 Unauthorized con una cabecera WWW-Authenticate.

Modifica el modelo fastapi.endpoint y el modelo auth.api.key, y depende de los módulos fastapi y auth_api_key_group. No se añaden menús ni informes nuevos; el único cambio visible es el campo adicional en el formulario del endpoint de FastAPI.

Modelos y campos (1)
  • fastapi.endpoint · amplía un modelo existenteauth_api_key_group_id

Texto generado por IA (DeepSeek) al leer el código de la versión 18.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: 2 confirmadas, 7 sin información de 9 versiones.

Fuentes · Odoo 17.0

Confirmado el 2026-11-03 en la rama 17.0 de OCA/rest-framework.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Obtener un entorno de odoo

Si necesitas obtener un entorno de odoo basado en la api key proporcionada, puedes usar authenticated_env_by_auth_api_key.

@router.get("/example_with_authenticated_env")
def example_with_authenticated_env(
    env: Annotated[Environment, Depends(authenticated_env_by_auth_api_key)],
) -> None:
    # env.user is the user attached to the provided key
    pass

Obtener el partner autenticado

Si quieres obtener el partner relacionado con la api key proporcionada, puedes usar authenticated_partner_by_api_key

@router.get("/example_with_authenticated_partner")
def example_with_authenticated_partner(
    partner: Annotated[Partner, Depends(authenticated_partner_by_api_key)],
) -> None:
    # partner is the partner related to the provided key key.user_id.partner_id
    pass

Configuración

Para que esto funcione, la api key debe estar definida en el Endpoint. Se ha añadido un nuevo campo auth_api_key_group_id al modelo Endpoint.

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, Configuració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.