Não consigo ativar o CORS em meu aplicativo da web ASP.NET Core 7 MVC.
Dado que não funcionou, tentei fazer o exemplo mais simples possível que deveria fazê-lo funcionar, com base na documentação aqui e em várias perguntas neste site.
Ainda parece não funcionar. Agora estou duvidando um pouco da minha metodologia de teste: estou ligando para o carteiro e esperando ver um "Access-Control-Allow-Origin", "*"
cabeçalho.
Minha program.cs
aparência é assim: observe que removi tudo o que não era diretamente necessário apenas para executá-lo e ativar o CORS:
var MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCors(options =>
{
options.AddPolicy(name: MyAllowSpecificOrigins,
policy =>
{
policy.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
builder.Services.AddControllers();
var app = builder.Build();
app.UseCors(MyAllowSpecificOrigins);
app.MapControllers();
app.Run();
Para testes, usei o carteiro:
Eu estava recebendo os seguintes cabeçalhos:
- Tipo de conteúdo
- Data
- Servidor
- Codificação de transferência
Conforme apontado pela resposta correta abaixo, o que eu não estava fazendo era enviar origem. Corrigir isso resolveu o problema. Executei o código em uma máquina diferente, na mesma rede, porque li em algum lugar que se você testar de localhost para localhost, o cabeçalho nem sempre é adicionado
Você não está enviando um
Origin
cabeçalho (tive que apertar os olhos; expresse a configuração da sua solicitação como texto, não como imagem), portanto, a solicitação não parece precisar de permissão do CORS. Muitas bibliotecas de manipulação de CORS não adicionam permissão de CORS para solicitações não-CORS.