Autenticación y seguridad

Configurar la autenticación y la seguridad para la integración de la API REST en el Marco de Definición de Servicios.

Tipos de autenticación admitidos

Tabla 1. Resumen de los tipos de autenticación
Tipo Configuración Caso de uso
Ninguno A través del menú desplegable de la interfaz de usuario API públicas: requiere la importación de un certificado
OAuth 2.0 A través del menú desplegable de la interfaz de usuario Las credenciales del cliente se transmiten con actualización automática de tokens
JWT Solo a través de encabezados personalizados Autenticación basada en señales
Autenticación básica Solo a través de encabezados personalizados Autenticación mediante nombre de usuario y contraseña

Sin autenticación

Utiliza esto para llamar a API públicas o a API que no requieran encabezados de autenticación.

Importante : Debes importar el certificado de la API externa al almacén de claves de OMS antes de realizar llamadas.

Configuración : Selecciona «Ninguna» en el menú desplegable «Tipo de autenticación».

OAuth 2.0 autenticación - credenciales del cliente

Utiliza esto para las API empresariales que admiten el flujo de credenciales de cliente OAuth 2.0.

Campos de configuración

  • ID de cliente : identificador de cliente de OAuth; admite ${property} resolución
  • Secreto de cliente : secreto de cliente de OAuth - admite ${property} la resolución
  • URL de tokens : OAuth token endpoint - admite ${property} la resolución
    • Si no se especifica, el valor predeterminado es /oauth2/token

Ejemplo de XML

<Authentication Type="OAuth">
  <OAuth>
    <ClientId>${oauth.client.id}</ClientId>
    <ClientSecret>${oauth.client.secret}</ClientSecret>
    <TokenUrl>${oauth.token.url}</TokenUrl>
  </OAuth>
</Authentication>

Ejemplo de propiedad

oauth.client.id=my-client-id
oauth.client.secret=my-client-secret
oauth.token.url=https://auth.example.com/oauth2/token
Nota: El sistema se encarga automáticamente de actualizar el token.

Autenticación JWT mediante encabezados personalizados

Utiliza esto para las API que requieren tokens JWT de tipo «bearer».

Importante: JWT no está disponible en el menú desplegable de la interfaz de usuario. Configura utilizando encabezados personalizados.

Opciones de configuración

Opción 1 - Token estático :

<Headers>
  <Header Name="Authorization" Value="Bearer eyJhbGc..."/>
</Headers>

Opción 2: Token de la propiedad :

<Headers>
  <Header Name="Authorization" Value="Bearer ${my.jwt.token}"/>
</Headers>

Ficha del inmueble:

my.jwt.token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Opción 3: propagar a partir de la solicitud entrante :

<Headers>
  <Header Name="Authorization" Value="#{h:authorization}"/>
</Headers>

Autenticación básica mediante encabezados personalizados

Utiliza esto para las API que requieran autenticación con nombre de usuario y contraseña.

Importante: La autenticación básica no está disponible en el menú desplegable de la interfaz de usuario. Configura utilizando encabezados personalizados.

Configuración

Opción 1: credenciales estáticas :

<Headers>
  <Header Name="Authorization" Value="Basic YWRtaW46cGFzc3dvcmQ="/>
</Headers>

Opción 2: credenciales de la propiedad :

<Headers>
  <Header Name="Authorization" Value="Basic ${my.basic.auth}"/>
</Headers>

Ficha del inmueble:

# Base64 encode "username:password" first
my.basic.auth=YWRtaW46cGFzc3dvcmQ=

Prácticas recomendadas de seguridad

  • Utiliza siempre HTTPS para las llamadas a API externas
  • Guarda las credenciales en archivos de propiedades; nunca las incluyas directamente en el código
  • Utiliza OAuth 2.0 cuando esté disponible: actualización automática de el token
  • Certificados de importación para la autenticación «Ninguna»
  • Renueva periódicamente los tokens y las credenciales