Web API 偽装のための HttpClient での資格情報の問題の解決
Web API と通信するときにユーザーになりすますと、資格情報を正しく渡すことが困難になることがよくあります。 この記事では、HttpClient
と WebClient
のアプローチの不一致について説明します。
アプリケーションは HttpClient
を UseDefaultCredentials
に設定して使用しています。 ただし、これだけでは資格情報を適切に送信するには十分ではありません。より堅牢なソリューションが必要です。true
の HttpClientHandler
プロパティにあります。 このプロパティを設定すると、Credentials
は指定された資格情報を使用して認証できるようになります。HttpClient
<code class="language-csharp">var httpClientHandler = new HttpClientHandler { UseDefaultCredentials = true }; httpClientHandler.Credentials = CredentialCache.DefaultCredentials; var httpClient = new HttpClient(httpClientHandler); httpClient.GetStringAsync("http://localhost/some/endpoint/").Wait();</code>
は、現在のプロセスのデフォルトの資格情報を自動的に取得します。 これらは通常、Web アプリケーションのリクエスターの ID と一致し、目的の偽装を実現します。CredentialCache.DefaultCredentials
以上が偽装された Web API リクエストに対して HttpClient で認証情報を正しく渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。