OdooWiki OCA HUB

Fastapi Auth Partner

fastapi_auth_partner folder_open OCA/rest-framework open_in_new
Sin categoría Licencia: AGPL-3

Este módulo es la implementación FastAPI de auth_partner, proporciona todas las rutas para gestionar la autenticación de partners.

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

Este módulo conecta el sistema de autenticación de contactos de Odoo con los endpoints de FastAPI, permitiendo que aplicaciones externas se registren, inicien sesión, restablezcan contraseñas y suplanten contactos a través de rutas de API.

Este módulo amplía el framework FastAPI en Odoo para proporcionar autenticación para partners (clientes, proveedores, etc.) a través de endpoints de API. Añade un nuevo menú "Authentication" bajo el menú raíz de FastAPI, donde puedes gestionar directorios de autenticación y partners.

En un formulario de endpoint de FastAPI, ahora puedes seleccionar "Partner Auth" como método de autenticación y vincular un directorio de autenticación. El endpoint también obtiene campos para URL pública y URL de API pública, utilizados para redirecciones de suplantación y enlaces de correo electrónico.

Los directorios de autenticación obtienen ajustes para una clave secreta de cookie (con un botón para regenerarla), duración de la cookie (en minutos, por defecto un año) y una opción de sesión deslizante. Estos controlan cómo se aseguran y mantienen las sesiones de API.

Para los partners, aparece un botón "Local Impersonate" en el formulario del partner (para administradores en modo desarrollador). Al hacer clic, establece la cookie de autenticación para todos los endpoints de FastAPI vinculados al directorio del partner, lo que te permite probar la API como ese partner. Si existen múltiples endpoints, un asistente te pide que elijas uno.

El módulo también añade un campo al asistente de restablecimiento de contraseña para especificar un endpoint de FastAPI, de modo que los correos de restablecimiento puedan incluir la URL pública correcta.

Las reglas de seguridad restringen a los usuarios de API a acceder únicamente a su propio registro de partner. El módulo proporciona rutas de API para registro, inicio de sesión, cierre de sesión, validación de correo electrónico, restablecimiento de contraseña, obtención de perfil y suplantación.

Menús que añade

auth_directory_menuAuthenticationauth_partner_menu
Modelos y campos (6)
  • auth.partner · amplía un modelo existente
  • auth.directory · amplía un modelo existentecookie_duration, sliding_session, cookie_secret_key, fastapi_endpoint_ids (FastAPI Endpoints)
  • fastapi.endpoint · amplía un modelo existenteapp, directory_id, is_auth_partner, demo_auth_method (Authentication method)
  • fastapi.auth.service · modelo nuevoendpoint_id, directory_id
  • wizard.auth.partner.impersonate · modelo nuevoauth_partner_id, auth_directory_id, fastapi_endpoint_id
  • wizard.auth.partner.reset.password · amplía un modelo existentefastapi_endpoint_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 16.0

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

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Primero tienes que añadir el router de autenticación a tu endpoint de FastAPI y la dependencia de autenticación a las dependencias de tu aplicación:

from odoo.addons.fastapi import dependencies
from odoo.addons.fastapi_auth_partner.dependencies import (
  auth_partner_authenticated_partner,
)
from odoo.addons.fastapi_auth_partner.routers.auth import auth_router

class FastapiEndpoint(models.Model):
    _inherit = "fastapi.endpoint"

    def _get_fastapi_routers(self):
      if self.app == "myapp":
          return [
              auth_router,
          ]
      return super()._get_fastapi_routers()

    def _get_app_dependencies_overrides(self):
        res = super()._get_app_dependencies_overrides()
        if self.app == "myapp":
            res.update(
                {
                    dependencies.authenticated_partner_impl: auth_partner_authenticated_partner,
                }
            )
        return res

A continuación puedes gestionar tus partners y directorios autenticables en la interfaz de Odoo:

FastAPI \> Authentication \> Partner

y

FastAPI \> Authentication \> Directory

A continuación debes establecer el directorio utilizado para la autenticación en el endpoint de FastAPI:

FastAPI \> FastAPI Endpoint \> myapp \> Directory

Después puedes usar el router de autenticación para autenticar tus peticiones:

  • POST /auth/register para registrar un partner
  • POST /auth/login para autenticar un partner
  • POST /auth/logout para desautenticar un partner
  • POST /auth/validate_email para validar el correo electrónico de un partner
  • POST /auth/request_reset_password para solicitar un restablecimiento de contraseña
  • POST /auth/set_password para establecer una nueva contraseña
  • GET /auth/profile para obtener el perfil del partner
  • GET /auth/impersonate para suplantar a un partner

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.