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
| 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
- Si no se especifica, el valor predeterminado es
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
Autenticación JWT mediante encabezados personalizados
Utiliza esto para las API que requieren tokens JWT de tipo «bearer».
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.
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