もともと.NET4.0とWIF3.5(1.0?)で構築されたアプリケーションがあります。アプリを.NET4.5にアップグレードしたため、WIF4.5を使用するように変換中です。私はすべてのコード変更を行い、構成設定と戦ってきました。私の現在のジレンマは、<claimTypeRequired>要素にあります。このドキュメントによると、これは<identityConfiguration>の子である必要がありますが、構成を次のように変更すると
<system.identityModel>
<identityConfiguration>
<claimTypeRequired>
...
</claimTypeRequired>
実行時に次のエラーが発生します
Parser Error Message: Unrecognized element 'claimTypeRequired'.
<claimTypeRequired>ブロックをコメントアウトすると、そのエラーは発生しますが、別の問題が発生します。次の構成を使用して、既存のアプリケーションのmaximumClockSkewを変更しました
<securityTokenHandlerConfiguration>
<maximumClockSkew value="1" />
</securityTokenHandlerConfiguration>
以前に参照した構成ドキュメントには、maximumClockSkewについても言及されていません。何が起こるかを見るためにそれを残してみようと思いました。何が起こるか
Parser Error Message: Property 'maximumClockSkew' is not a ConfigurationElement.
しかし、JustDecompileを使用してSecurityTokenHandlerConfigurationElementクラスを見ると、次のプロパティが表示されます。
[ConfigurationProperty("maximumClockSkew", IsRequired=false, DefaultValue="00:05:00")]
[IdentityModelTimeSpanValidator(MinValueString="00:00:00")]
[TypeConverter(typeof(TimeSpanOrInfiniteConverter))]
public TimeSpan MaximumClockSkew...
ですから、そこにあることを期待しているようです。
マイクロソフトが実際にこのようなものを使用することを望んでいないようです。