HttpClient 資格情報の問題の解決
HttpClient を使用して認証が必要な Windows サービスにアクセスすると、資格情報が正しく渡されない可能性があります。これは、ASP.NET MVC Web API および IIS の偽装でよく発生します。
HttpClient と WebClient が資格情報を処理する方法の違いが重要です。 HttpClient の UseDefaultCredentials
プロパティは資格情報の取得を処理することを目的としていますが、信頼性が低い可能性があります。
認証情報の送信を保証するには、UseDefaultCredentials
:true
内で HttpClientHandler
を
<code class="language-csharp">var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });</code>
これは、HttpClient にオペレーティング システムのデフォルトの資格情報を使用するように指示します。これは WebClient の動作を反映しており、Web アプリケーション要求を開始するユーザーが Windows サービスによって適切に認証されることを保証します。
以上がHttpClient が Windows サービスに資格情報を渡さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。