Autenticação e Segurança
Configure a autenticação e a segurança para a integração da API REST no Service Definition Framework.
Tipos de autenticação suportados
| Tipo | Configuração | Caso de uso |
|---|---|---|
| Nenhum | Por meio do menu suspenso da interface do usuário | APIs públicas - requer importação de certificado |
| OAuth 2.0 | Por meio do menu suspenso da interface do usuário | Fluxo de credenciais do cliente com atualização automática de tokens |
| JWT | Apenas por meio de cabeçalhos personalizados | Autenticação baseada em token |
| Autenticação básica | Apenas por meio de cabeçalhos personalizados | Autenticação de nome do usuário/senha |
Sem autenticação
Use isso para chamar APIs públicas ou APIs que não exijam cabeçalhos de autenticação.
Importante : É necessário importar o certificado da API externa para o keystore do OMS antes de realizar chamadas.
Configuração : Selecione “Nenhuma” no menu suspenso Tipo de autenticação.
OAuth 2.0 autenticação - credenciais do cliente
Use isso para APIs corporativas que suportem o fluxo de credenciais de cliente OAuth 2.0.
Campos de configuração
- ID do cliente : OAuth identificador do cliente - permite
${property}a resolução - Segredo do cliente : segredo do cliente OAuth - suporta
${property}resolução - URL do token : OAuth token endpoint - suporta
${property}resolução- Se não for especificado, o valor padrão é
/oauth2/token
- Se não for especificado, o valor padrão é
Exemplo de XML
<Authentication Type="OAuth">
<OAuth>
<ClientId>${oauth.client.id}</ClientId>
<ClientSecret>${oauth.client.secret}</ClientSecret>
<TokenUrl>${oauth.token.url}</TokenUrl>
</OAuth>
</Authentication>
Exemplo de imóvel
oauth.client.id=my-client-id
oauth.client.secret=my-client-secret
oauth.token.url=https://auth.example.com/oauth2/token
Autenticação JWT por meio de cabeçalhos personalizados
Use isso para APIs que exigem tokens JWT de portador.
Opções de configuração
Opção 1 - Token estático :
<Headers>
<Header Name="Authorization" Value="Bearer eyJhbGc..."/>
</Headers>
Opção 2 - Token da propriedade :
<Headers>
<Header Name="Authorization" Value="Bearer ${my.jwt.token}"/>
</Headers>
Arquivo de propriedade:
my.jwt.token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Opção 3 - Propagar a partir da solicitação recebida :
<Headers>
<Header Name="Authorization" Value="#{h:authorization}"/>
</Headers>
Autenticação básica por meio de cabeçalhos personalizados
Use isso para APIs que exigem autenticação por nome de usuário e senha.
Configuração
Opção 1 - Credenciais estáticas :
<Headers>
<Header Name="Authorization" Value="Basic YWRtaW46cGFzc3dvcmQ="/>
</Headers>
Opção 2 - Credenciais da propriedade :
<Headers>
<Header Name="Authorization" Value="Basic ${my.basic.auth}"/>
</Headers>
Arquivo de propriedade:
# Base64 encode "username:password" first
my.basic.auth=YWRtaW46cGFzc3dvcmQ=
Melhores práticas de segurança
- Sempre use HTTPS para chamadas de API externas
- Armazene as credenciais em arquivos de propriedades; nunca as insira diretamente no código
- Use OAuth 2.0 quando disponível — atualização automática do token
- Certificados de importação para autenticação "Nenhuma"
- Renove os tokens e as credenciais regularmente