>source

네, 당신이 무슨 생각을 하는지 압니다. 또 다른 CORS 질문이지만 이번에는 당황스럽습니다.

시작하기 위해 실제 오류 메시지는 다음과 같습니다.

XMLHttpRequest는 http://localhost/Foo.API/token을 로드할 수 없습니다. 그만큼 응답의 'Access-Control-Allow-Origin' 헤더 값은 반드시 요청의 자격 증명 모드가 다음과 같은 경우 와일드카드 '*'가 아니어야 합니다. '포함'. 따라서 출처 'http://localhost:5000'은 허용되지 않습니다. 입장. 에 의해 시작된 요청의 자격 증명 모드 XMLHttpRequest는 withCredentials 속성에 의해 제어됩니다.

자격 증명 모드가 '포함'이라는 것이 무엇을 의미하는지 잘 모르겠습니다.

우체부에서 요청을 수행할 때 다음과 같은 오류가 없습니다.

하지만 angularjs 웹 앱을 통해 동일한 요청에 액세스할 때 이 오류가 발생했습니다. 다음은 내 angualrjs 요청/응답입니다. 보시다시피 응답은확인 200하지만 여전히 CORS 오류가 발생합니다.

Fiddler 요청 및 응답:

다음 이미지는 웹 프런트 엔드에서 API로의 요청 및 응답을 보여줍니다.

따라서 내가 온라인에서 읽은 다른 모든 게시물에 따르면 내가 옳은 일을 하고 있는 것처럼 보이고, 그래서 오류를 이해할 수 없습니다. 마지막으로 angualrjs(로그인 팩토리)에서 사용하는 code는 다음과 같습니다.

API의 CORS 구현 -참조 목적:

방법 1 사용:

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);
    }
}

사용된 방법 2:

public void Configuration(IAppBuilder app)
{
    HttpConfiguration config= new HttpConfiguration();
    ConfigureOAuth(app);
    WebApiConfig.Register(config);
    app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
    app.UseWebApi(config);
}

좋은 사진, 그것들은 무엇입니까? 귀하의 질문에 대답하려면 인증을 포함하는 경우 access-control-allow-origin 응답이 원래(브라우저 페이지) 호스트여야 하며 *일 수 없습니다. 따라서 서버 측에서 CORS를 잘못하고 있습니다. 교차 출처 요청이 아니기 때문에

Jaromanda X2022-01-06 23:08:36

@JaromandaX, 응답 주셔서 감사합니다. 그림은 요청/응답을 보여주고 전달되는 헤더를 보여줍니다. 당신은 질문을 하고, 분명히 그것이 목표를 달성하지 못했다고 말합니다...

Richard Bailey2022-01-06 23:08:36

내 의견은 당신이 알아야 할 전부여야 합니다 -사진을 볼 필요가 없습니다

Jaromanda X2022-01-06 23:08:36

그래서 최근에는 웹 API의 쿠키에서 벗어나 토큰을 사용하기로 결정했습니다. 쿠키를 사용할 때 내 CORS는 문제 없이 작동합니다. 그래서 CORS가 서버 측에서 올바르게 구현되지 않은 방법을 이해하기 위해 고심하고 있습니다.

Richard Bailey2022-01-06 23:08:36

인증을 포함하는 경우 access-control-allow-origin 응답은 원래(브라우저 페이지) 호스트여야 하며 *일 수 없습니다.

Jaromanda X2022-01-06 23:08:36
  • 이전 Angular $localize 테스트에 대한 조언(Angular 9)
  • 다음 javascript : 컴파일 유형 오류: 함수의 instanceof 검사에서 객체가 아닌 프로토타입 'null'이 있습니다.