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
true
oufalse
.
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.