Lösen von Anmeldeinformationsproblemen in HttpClient für Web-API-Identitätswechsel
Die Identitätsübernahme von Benutzern bei der Kommunikation mit Web-APIs führt häufig zu Problemen bei der korrekten Weitergabe von Anmeldeinformationen. In diesem Artikel werden Inkonsistenzen zwischen HttpClient
- und WebClient
-Ansätzen behandelt.
Ihre Anwendung verwendet HttpClient
, wobei UseDefaultCredentials
auf true
gesetzt ist. Dies allein reicht jedoch nicht für eine ordnungsgemäße Übermittlung der Anmeldeinformationen aus. Eine robustere Lösung ist erforderlich.
Der Schlüssel liegt in der HttpClientHandler
Eigenschaft des Credentials
. Durch Festlegen dieser Eigenschaft kann HttpClient
sich mit den angegebenen Anmeldeinformationen authentifizieren.
Hier ist der verbesserte Code:
<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>
CredentialCache.DefaultCredentials
ruft automatisch die Standardanmeldeinformationen des aktuellen Prozesses ab. Diese stimmen in der Regel mit der Identität des Webanwendungsanforderers überein, wodurch der gewünschte Identitätswechsel erreicht wird.
Wichtiger Hinweis: Diese Methode verarbeitet die Aktualisierung oder den Ablauf der Anmeldeinformationen nicht automatisch. Für häufig ablaufende Anmeldeinformationen ist eine benutzerdefinierte Verwaltung der Anmeldeinformationen erforderlich.
Das obige ist der detaillierte Inhalt vonWie kann ich Anmeldeinformationen mit HttpClient für imitierte Web-API-Anfragen korrekt übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!