Interfaces resilientes com processos externos

Neste artigo, fornecemos orientação sobre como planejar e implementar as APIs RESTful na jornada do usuário e tornar seu aplicativo mais resiliente a falhas de API.

Image shows interfaces with external process components

Garantir o posicionamento correto das APIs

As políticas do Identity Experience Framework (IEF) permitem chamar um sistema externo usando um perfil técnico da API RESTful. Os sistemas externos não são controlados pelo ambiente de tempo de execução do IEF e são um ponto de falha potencial.

Como gerenciar sistemas externos usando APIs

  • Ao chamar uma interface para acessar determinados dados, verifique se os dados vão orientar a decisão de autenticação. Avalie se as informações são essenciais para a funcionalidade principal do aplicativo. Por exemplo, um e-commerce versus uma funcionalidade secundária, como uma administração. Se as informações não forem necessárias para autenticação e apenas para cenários secundários, considere mover a chamada para a lógica do aplicativo.

  • Se os dados necessários para a autenticação forem relativamente estáticos e pequenos, e não tiverem outro motivo comercial para serem externalizados do diretório, considere tê-los no diretório.

  • Remova as chamadas de API do caminho pré-autenticado sempre que possível. Se não puder, você deve colocar proteções rígidas para ataques de negação de serviço (DoS) e negação de serviço distribuída (DDoS) na frente de suas APIs. Os invasores podem carregar a página de login e tentar inundar sua API com ataques DoS e desabilitar seu aplicativo. Por exemplo, usando CAPTCHA em seu login, o fluxo de inscrição pode ajudar.

  • Use conectores de API do fluxo de usuário de inscrição interno sempre que possível para integrar com APIs da Web depois de federar com um provedor de identidade durante a inscrição ou antes de criar o usuário. Como os fluxos de usuário já são extensivamente testados, é provável que você não precise executar testes funcionais, de desempenho ou de escala no nível do fluxo do usuário. Você ainda precisa testar seus aplicativos quanto à funcionalidade, desempenho e escalabilidade.

  • Os perfis técnicos da API RESTful do Azure AD B2C não fornecem nenhum comportamento de cache. Em vez disso, o perfil da API RESTful implementa uma lógica de repetição e um tempo limite que é incorporado à política.

  • Para APIs que precisam gravar dados, enfileire uma tarefa para que essas tarefas sejam executadas por um trabalhador em segundo plano. Serviços como filas do Azure podem ser usados. Essa prática fará com que a API retorne de forma eficiente e aumentará o desempenho de execução da política.

Tratamento de erros de API

Como as APIs vivem fora do sistema Azure AD B2C, é necessário ter um tratamento de erros adequado dentro do perfil técnico. Certifique-se de que o usuário final esteja informado adequadamente e que o aplicativo possa lidar com falhas normalmente.

Como lidar graciosamente com erros de API

  • Uma API pode falhar por vários motivos, tornando seu aplicativo resiliente a essas falhas. Retorne uma mensagem de erro HTTP 4XX se a API não conseguir concluir a solicitação. Na política do Azure AD B2C, tente lidar com a indisponibilidade da API e talvez renderizar uma experiência reduzida.

  • Lide com erros transitórios graciosamente. O perfil da API RESTful permite configurar mensagens de erro para vários disjuntores.

  • Monitore proativamente e use a Integração Contínua/Entrega Contínua (CICD), alterne as credenciais de acesso à API, como senhas e certificados usados pelo mecanismo de perfil técnico.

Gerenciamento de API - práticas recomendadas

Enquanto você implanta as APIs REST e configura o perfil técnico RESTful, seguir as práticas recomendadas ajudará você a não cometer erros comuns e coisas que estão sendo negligenciadas.

Como gerenciar APIs

  • O Gerenciamento de API (APIM) publica, gerencia e analisa suas APIs. O APIM também lida com a autenticação para fornecer acesso seguro a serviços de back-end e microsserviços. Use um gateway de API para dimensionar implantações de API, cache e balanceamento de carga.

  • A recomendação é obter o token certo no início da jornada do usuário em vez de chamar várias vezes para cada API e proteger uma API do Azure APIM.

Próximos passos