브라우저가 ID 공급자의 로그인 페이지에 도달했다고 해서 ASP.NET Core 서버가 공급자 메타데이터를 가져오거나 토큰을 교환할 수 있다는 뜻은 아닙니다. 이러한 서버 쪽 요청은 OpenID Connect 백채널을 사용합니다.

기존 oidc 이라는 이름의 체계에는 인증 요청이 시작되기 전에 서비스 설정 중에 해당 처리기를 구성합니다.

services.Configure<Microsoft.AspNetCore.Authentication.OpenIdConnect
    .OpenIdConnectOptions>("oidc", options =>
{
    options.BackchannelHttpHandler =
        new System.Net.Http.HttpClientHandler
        {
            UseProxy = true,
            Proxy = new System.Net.WebProxy(
                "http://proxy.example.net:8080")
        };
});

oidc 을(를) 실제로 등록된 체계 이름으로 바꿉니다. authority, 클라이언트, 토큰 유효성 검사 설정은 그대로 유지합니다. 프록시에 계정이 필요하면 의도한 자격 증명을 WebProxy 에 연결합니다.

앱이 이미 options.Backchannel 을(를) 완전한 HttpClient 로 제공하는지 확인합니다. 그렇다면 해당 클라이언트의 경로를 직접 구성합니다. ASP.NET Core는 기본 백채널을 만들 때 BackchannelHttpHandler 을(를) 사용하며, 이미 제공된 클라이언트를 대체하기 위한 것이 아닙니다.

이 설정을 평가하려면 서버의 실패한 검색 또는 토큰 요청을 사용합니다. 공용 HTTP 경로의 경우 HTTP 프록시 목록 이 WebProxy 주소의 후보를 제공합니다. 브라우저 프록시 정책과 관련 없는 HTTP 클라이언트에는 각자의 구성 경로가 있습니다.

관련 글