Kerberos と Negotiate の SPN からポートが削除されました

HttpClientKerberos または Negotiate の認証に使用する場合、サービスを検索するためのサービス プリンシパル名 (SPN) に既定以外のポートが含まれなくなりました。 この新しい .NET 6 の動作は、.NET Core 3.1 以前のバージョンと同じです。

以前の動作

既定外のポートでサービスに接続した場合、.NET 5 では、サービスを検索する SPN を構築するときに port コンポーネントが含まれていました。

新しい動作

.NET 6 以降、既定では、既定以外のポートであっても、SPN は port コンポーネントを使用して構築されません。

導入されたバージョン

6.0 RC 1

破壊的変更の種類

この変更は、バイナリの互換性に影響を与える可能性があります。

変更理由

お客様が利用するようになっていた .NET Core 1.0 - 3.1 の動作を復活させるためです。

.NET 5 の動作を維持する必要がある場合は、アプリ コンテキスト スイッチ System.Net.Http.UsePortInSpn または環境変数 DOTNET_SYSTEM_NET_HTTP_USEPORTINSPNtrue に設定することができます。

影響を受ける API