Sim, eu sei o que você está pensando - mais uma pergunta CORS, mas desta vez estou perplexo.
Portanto, para começar, a mensagem de erro real:
XMLHttpRequest não pode carregar http: //localhost/Foo.API/token . O valor do cabeçalho 'Access-Control-Allow-Origin' na resposta não deve ser o caractere curinga '*' quando o modo de credenciais da solicitação é 'incluir' . Portanto, o acesso de origem ' http: // localhost: 5000 ' não é permitido. O modo de credenciais de solicitações iniciadas pelo XMLHttpRequest é controlado pelo atributo withCredentials.
Não tenho certeza se o significado de modo de credenciais é 'incluir' ?
Então, quando eu executar o pedido no carteiro, eu experimentar nenhum tal erro:
Mas quando eu acesso a mesma solicitação por meio do meu aplicativo da web angularjs, fico perplexo com esse erro. Aqui está o meu pedido / resposta angualrjs. Como você verá, a resposta é OK 200
, mas ainda recebo o erro CORS:
Solicitação e resposta do Fiddler:
A imagem a seguir demonstra a solicitação e a resposta do front-end da web para API
Portanto, com base em todas as outras postagens que li online, parece que estou fazendo a coisa certa, por isso não consigo entender o erro. Por último, aqui está o código que uso no angualrjs (fábrica de login):
Implementação do CORS na API - fins de referência:
Método 1 usado:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*")
{
SupportsCredentials = true
};
config.EnableCors(cors);
}
}
Método 2 usado:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
ConfigureOAuth(app);
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
Muito obrigado antecipadamente!
*
- então, o lado do servidor está executando CORS errado - oh, e o carteiro funciona porque não é uma solicitação de origem cruzada