API Identity

API Identity é um novo tipo de API criado para facilitar a autenticação por senha (fluxo Password de OAuth). Essa API substitui o OAuth Directory e permite modificar e tratar as chamadas feitas para os servidores de autenticação.

 — Aviso de descontinuidade: OAuth Directory — 

A partir da Release 1901.1.2.0, o OAuth Directory foi descontinuado e é necessário ter uma API Identity configurada para utilizar o fluxo Password. Em releases anteriores, a autenticação pelo fluxo Password é feita diretamente pelo OAuth Directory (você pode acessar a documentação sobre essa funcionalidade aqui).

Funcionamento

API Identities possuem APIs em seu corpo que, por sua vez, contam com os interceptores OAuth e/ou Access Token Validation, com a opção Password habilitada.

Quando uma app utiliza alguma dessas APIs associadas, ocorre o seguinte: ao requerir um access token do tipo Password, uma requisição é enviada para a API Identity, que trata a chamada e a envia pra o endpoint de autenticação.

O endpoint que o serviço de autorização requisita da API Identity depende diretamente do ambiente utilizado para a chamada da API OAuth 2.0. Portanto, a API Identity e a API OAuth 2.0 deverão estar implantadas no mesmo ambiente, permitindo à mesma API ter comportamentos diferentes em fluxos de ambientes distintos.

Veja mais sobre a API OAuth 2.0 aqui.

Uma API comum pode estar associada a mais de uma API Identity, e uma app pode estar associado a mais de uma API. Nesses casos, o serviço de autorização fará requisições para cada Identity associada, uma a uma. Caso a senha seja válida para alguma API Identity, ele deixará de executar as requisições restantes. Se a senha não for válida para nenhuma Identity, não será permitido criar um access token.

O corpo passado à API Identity no momento da chamada terá todo conteúdo enviado para a requisição de access token no fluxo Password, permitindo mais possibilidades na autenticação de senhas. Caso a chamada para a API Identity retorne um campo no corpo com a chave extraInfo, o conteúdo desse campo estará presente no extraInfo do access token gerado.

Criando uma API Identity

Para a criação de uma nova API Identity, basta selecionar a opção Create API Identity no canto inferior direito da página de APIs (no menu que surge ao posicionar o cursor sobre o botão flutuante +).

criaidentity1

A página de construção de API será aberta e você deverá preencher as informações necessárias ao longo das diferentes etapas, como no caso de uma API comum:

createIdentity2
O API Destination (que você configura clicando no ícone icon backend dentro da etapa Flows) deverá ser o endpoint em que será executada a verificação de Password.
criaidentity2 2

Diferente de APIs comuns, a API Identity possui a etapa Identity, na qual é possível selecionar APIs que possuem os interceptores OAuth e/ou Access Token Validation, com a opção Password habilitada.

criaidentity3

Feito isso, publique sua API normalmente (botão Publish) e ela estará pronta para uso.

Thanks for your feedback!
EDIT
How useful was this article to you?