Credenciais de acesso
Visão Geral
Por estarem relacionados ao acesso a APIs, a identificação de um consumidor está atrelada a uma credencial. As credenciais são necessárias para autenticar os consumidores por meio de um mecanismo de autenticação, como Basic Authentication, Key Authentication, OAuth, entre outros. Para saber mais sobre consumidores de APIs, acesse a seção Consumidores de APIs do Dev Portal.
O tipo de credencial depende do tipo de autenticação presente na API. Por exemplo, uma API protegida por autenticação Basic Authentication requer uma credencial composta por um usuário e uma senha; uma API protegida por Key Authentication requer uma credencial composta por uma API key. Portanto, se uma API é protegida por um mecanismo de autenticação, é necessário possuir um consumidor e credenciais correspondentes ao tipo de autenticação para acessá-la.
O DHuO possibilita a criação de credenciais para os seguintes tipos de autenticação:
- Basic Authentication
- Key Authentication
- JWT Authentication
Após criar a credencial correspondente ao tipo de autenticação suportado pela API, é possível consumí-la. A forma de envio das credenciais varia conforme o tipo de autenticação configurado pelo provedor da API. As instruções devem ser fornecidos por ele na documentação da API.
É necessário habilitar a opção de criação de credenciais no portal para que a página de consumidores de APIs esteja visível. Para saber mais sobre como configurar essa opção, acesse a seção Ambientes da Administração do Dev Portal.
Configuração
As credenciais são criadas no contexto do consumidor de APIs. A partir da home, acesse o menu > Consumidores de APIs
. Na página de consumidores, acesse a opção Credenciais
do consumidor desejado. Na página seguinte, acesse o menu conforme o tipo de credencial a ser configurada.
Os tipos de credenciais exibidos no menu dependem dos tipos de credenciais habilitados na configuração do portal. Para saber mais sobre como configurar essa opção, acesse a seção Ambientes da Administração do Dev Portal.
Um consumidor pode ter mais de uma credencial, porém apenas uma credencial por tipo de autenticação.
Não é possível alterar uma credencial após a criação. Caso seja necessário alterar uma credencial, é preciso removê-la e criar uma nova.
Ao excluir uma credencial, os acessos às APIs das aplicações que a utilizam deixarão de funcionar até que novas credenciais sejam criadas e as aplicações sejam atualizadas com os novos valores.
Configuração Basic Authentication
As credenciais para Basic Authentication são geradas automaticamente. Acesse o menu > Basic Auth
para gerenciar a credencial.
Parâmetros
Aqui estão os parâmetros para configuração de uma credencial Basic Auth:
- Nome do usuário: Obrigatório. O nome de usuário a ser usado na autenticação do consumidor nas requisições de API.
- Senha: Obrigatório. A senha a ser usada na autenticação do consumidor nas requisições de API.
Configuração Key Authentication
As credenciais para Key Authentication são geradas automaticamente. Acesse o menu > API Key
para gerenciar a credencial.
Parâmetros
Aqui estão os parâmetros para configuração de uma credencial API Key:
- Chave: Obrigatório. A chave a ser usada na autenticação do consumidor nas requisições de API.
Configuração JWT Authentication
As credenciais para JWT Authentication são definidas com base nas informações utilizadas para gerar e assinar um token JWT enviado nas requisições de API. Os detalhes para geração do JWT devem ser fornecidos pelo provedor da API.
Parâmetros
Aqui estão os parâmetros para configuração de uma credencial JWT:
- Key: Obrigatório. Gerado automaticamente. Chave a ser usada na claim do token JWT. A claim padrão é iss, mas pode ser customizada pelo provedor da API. Durante o processo de autenticação é realizado a busca pela claim no token JWT e seu valor (a key) utilizado para identificar o consumidor.
- Algoritmo: Obrigatório. Algoritmo usado para verificar a assinatura do token.
- Secret: Secret usada para assinar o token JWT gerado pelo consumidor de API. Usada para verificar a assinatura de tokens gerados usando algoritmos simétricos como HS256, HS384 ou HS512. Se não informada, será gerado automaticamente.
- Public Key RSA: Chave pública (em formato PEM) usada para verificar a assinatura de tokens gerados usando algoritmos assimétricos como RS256, RS384, RS512, ES256, ES384, ES512. Obrigatório se escolhido algum algoritmo assimétrico.
Caso as APIs disponíveis no portal estejam expostas por meio de um API Gateway do tipo APISIX, os seguintes parâmetros adicionais estarão disponíveis para configuração de uma credencial JWT:
- Private Key RSA: Chave privada (em formato PEM) usada para criar e assinar tokens usando algoritmos assimétricos como RS256, RS384, RS512, ES256, ES384, ES512. Obrigatório se escolhido algum algoritmo assimétrico.
- Base64 Secret: Identifica se a secret usada para assinar o token JWT gerado pelo consumidor de API está codificada no formato base64.
- Expiração: Tempo de expiração do token, em segundos. Após criado, o token é válido até atingir seu tempo de expiração.
- Lifetime Grace: Define um período, em segundos, de margem de tolerância para validade de tokens, considerando a diferença de horário entre servidores de criação e validação do token JWT.