No mundo do desenvolvimento web, garantir uma comunicação segura entre uma aplicação front-end e uma API backend é primordial. O Compartilhamento de Recursos entre Origem Cruzada (CORS) serve como um mecanismo de segurança crítico que governa como os navegadores web lidam com solicitações feitas a um domínio diferente daquele que serviu a página web inicial.
Saiba mais sobre Apidog clicando no botão abaixo!
Entender e testar efetivamente as configurações de CORS é essencial para um desenvolvimento de API sem interrupções. Este artigo aborda o conceito do Teste CORS do Postman, equipando os desenvolvedores com uma compreensão abrangente de como aproveitar essa funcionalidade dentro da popular plataforma de desenvolvimento de API.
O que é CORS?
O Compartilhamento de Recursos entre Origem Cruzada (CORS) é um conceito de segurança web implementado pelos navegadores para mitigar riscos de segurança potenciais associados a solicitações de origem cruzada. Por padrão, os navegadores restringem uma página web de fazer solicitações a um domínio diferente daquele que serviu a página. Isso impede scripts maliciosos de um domínio de acessar dados sensíveis em outro domínio.
Elementos Chave do CORS
Origem
A origem de uma solicitação é uma combinação de três partes: protocolo (como https), nome do host (por exemplo, www.example.com) e número da porta (geralmente 80 para tráfego web padrão). Ela essencialmente identifica de onde uma solicitação se origina. Por exemplo, https://www.example.com:8080 é uma string de origem completa.
Solicitações Pré-Vôo
Para certos métodos HTTP considerados "preventivos" (por exemplo, OPTIONS, GET, HEAD), os navegadores podem enviar uma solicitação pré-vôo (OPTIONS) antes da solicitação real. Esta solicitação pré-vôo age como um escoteiro, perguntando ao servidor se a solicitação específica é permitida.
Cabeçalhos CORS
Os servidores podem incluir cabeçalhos HTTP específicos em suas respostas para indicar se uma solicitação de origem cruzada é permitida. Esses cabeçalhos definem vários aspectos da interação permitida:
- Access-Control-Allow-Origin: Este cabeçalho especifica quais origens têm permissão para acessar o recurso. Pode ser um domínio específico (como
https://www.example.com) ou um caractere curinga (*) para permitir todas as origens (geralmente desencorajado por razões de segurança). - Access-Control-Allow-Methods: Este cabeçalho define os métodos HTTP (GET, POST, PUT, DELETE, etc.) que são permitidos para solicitações CORS.
- Access-Control-Allow-Headers: Este cabeçalho especifica quais campos de cabeçalho HTTP podem ser incluídos nos cabeçalhos de solicitação CORS (por exemplo,
Content-Type,Authorization). - Access-Control-Allow-Credentials: Este cabeçalho indica se credenciais (como cookies ou tokens de autorização) podem ser incluídas nas solicitações CORS. O valor é tipicamente definido como
trueoufalse.
Solicitações Simples vs. Solicitações Pré-Vôo
Com base no método HTTP, cabeçalhos utilizados e presença de credenciais, as solicitações CORS podem ser categorizadas como solicitações simples ou solicitações pré-vôo. Solicitações simples não disparam uma solicitação pré-vôo, enquanto solicitações pré-vôo disparam, garantindo que o servidor permita aquele tipo de interação de origem cruzada.
Finalidades do Teste CORS
O teste CORS é usado para verificar como um navegador web lida com solicitações feitas a um domínio (origem) diferente daquele que serviu a página web inicial. Isso garante que os recursos sejam acessados de forma segura e conforme pretendido. Aqui está uma análise de suas principais finalidades:
Garantindo Acessibilidade da API
Aplicações web modernas muitas vezes dependem de APIs hospedadas em domínios separados. O teste CORS ajuda os desenvolvedores a confirmar que sua aplicação front-end (executada em um domínio) pode acessar e interagir com sucesso com a API backend (em um domínio diferente) sem encontrar restrições de CORS.
Depurando Problemas de CORS
Se uma aplicação front-end enfrenta problemas ao buscar dados de uma API backend, configurações incorretas de CORS podem ser a culpada. O teste CORS ajuda a identificar esses problemas simulando solicitações da perspectiva do front-end e analisando os cabeçalhos de resposta do servidor.
Verificando a Configuração de CORS
Ao configurar CORS em um servidor backend, o teste CORS fornece uma maneira de validar se os cabeçalhos estão definidos corretamente. Os desenvolvedores podem testar com diferentes origens, métodos e cabeçalhos para garantir que o servidor responda de forma apropriada de acordo com a política de CORS desejada.
Prevenindo Vulnerabilidades de Segurança
Configurações inadequadas de CORS podem introduzir vulnerabilidades de segurança. Testando o CORS, os desenvolvedores podem identificar fraquezas potenciais e garantir que somente origens autorizadas possam acessar recursos sensíveis.
Guia Passo a Passo sobre Teste CORS no Postman
Passo 1 - Criar uma Conta no Postman
Primeiro, você precisará criar uma nova conta no Postman (apenas se não tiver uma) e baixe o aplicativo Postman em seu dispositivo. O aplicativo oferece mais utilidade em comparação com sua versão web.

Passo 2 - Criar uma Nova Solicitação de API no Postman

Uma vez que você tenha instalado o Postman, crie uma nova solicitação clicando no botão Novo no canto superior esquerdo da janela do Postman. Selecione Solicitação HTTP para criar uma nova solicitação, como mostrado na imagem acima.
Passo 3 - Inserir Método e Detalhes da API
Em seguida, você precisa incluir os detalhes da solicitação da API que deseja criar. Ela deve incluir componentes como a URL, métodos HTTP e parâmetros adicionais que a API requer.

Passo 4 - Configurar Cabeçalho da Solicitação da API

Na seção Cabeçalhos, adicione um novo cabeçalho com uma Chave chamada "Origin" e o valor como a URL base. Este valor da chave "Origin" será usado para simular o cabeçalho enviado pelo navegador durante uma solicitação de origem cruzada.
Passo 5 - Visualizar o Cabeçalho de Resposta da API

Você pode finalmente verificar os cabeçalhos CORS relacionados na seção de cabeçalhos, como visto na imagem acima.
Apidog - Realizar Teste CORS e Mais
Apidog é uma excelente plataforma de desenvolvimento de API que permite que você construa, teste, simule e documente APIs. O Apidog também é capaz de fornecer casos de teste de múltiplas etapas - cenários de teste - para garantir que suas APIs funcionem perfeitamente.

Testando APIs Usando Apidog

O primeiro passo é inserir o endpoint específico da API que você deseja testar. Inclua detalhes adicionais, como parâmetros, se necessário para a API específica que você está testando.
Se você não tiver certeza sobre como usar múltiplos parâmetros em uma URL, este artigo (link não incluído) pode guiá-lo sobre como acessar o recurso exato dentro de conjuntos de dados maiores!

Utilizando Cenários de Teste para Sua API Usando Apidog
Quer testar sua API como se fosse usada em situações cotidianas? A funcionalidade de cenários de teste do Apidog permite que você crie cenários de teste complexos, imitando interações do mundo real.

Primeiramente, clique no botão Teste, seguido pelo botão + Novo Cenário de Teste.

O Apidog solicitará que você preencha os detalhes para seu novo cenário de teste. Certifique-se de dar um nome apropriado para que sua função seja previsível.

Continue adicionando uma etapa (ou muitas mais etapas) aos seus cenários de teste clicando na seção Adicionar Etapa. Você deve ser capaz de ver a imagem abaixo.

Selecione "Importar de API" no menu suspenso.

Em seguida, selecione todas as APIs que você gostaria de incluir em seu cenário de teste. No exemplo acima, a API chamada NumberConversionSOAP foi incluída.

Antes de clicar no botão Executar para iniciar seu cenário de teste, certifique-se de alterar o ambiente do cenário de teste, que deve ser Ambiente de Teste, conforme indicado pela seta 1.

Ao analisar o desempenho da sua API, você obtém valiosas informações sobre seus pontos fortes e fracos. Esse conhecimento é fundamental para tomar decisões informadas sobre como melhorar sua API na próxima fase de desenvolvimento.
Conclusão
o Teste CORS do Postman capacita os desenvolvedores com uma ferramenta amigável e eficaz para garantir uma comunicação sem interrupções entre aplicações front-end e APIs backend. Ao entender os fundamentos do CORS e aproveitar as capacidades de teste do Postman, os desenvolvedores podem agilizar fluxos de trabalho de desenvolvimento, identificar e corrigir configurações incorretas de CORS e, em última análise, construir aplicações web seguras e robustas.
Através de uma configuração e teste adequados de CORS, os desenvolvedores podem garantir que suas APIs funcionem como pretendido, aderindo aos mecanismos de segurança do navegador e permitindo acesso irrestrito de origens autorizadas. Ao seguir os passos descritos neste artigo e integrar o teste de CORS do Postman em seu processo de desenvolvimento, os desenvolvedores podem promover uma experiência de desenvolvimento web mais segura e eficiente.



