This documentation is archived and is not being maintained.

Additional Information

Windows Identity Foundation
[Starting with the .NET Framework 4.5, Windows Identity Foundation (WIF) has been fully integrated into the .NET Framework. The version of WIF addressed by this topic, WIF 3.5, is deprecated and should only be used when developing against the .NET Framework 3.5 SP1 or the .NET Framework 4. For more information about WIF in the .NET Framework 4.5, also known as WIF 4.5, see the Windows Identity Foundation documentation in the .NET Framework 4.5 Development Guide.]

WIF uses reflection to access private WCF members in the following methods:

  • FederatedSecurityTokenManager.SetWrappedTokenCache. WCF lets a developer replace the SecurityContextToken cache by returning the cache as an out of band token resolver from CreateSecurityTokenAuthenticator. However, this cache does not correctly replace the inner cache in the Authenticators internal property, so WIF adds the cache using reflection.

  • FederatedSecurityTokenManager.GetSecurityVersion. The SecurityTokenVersion for the two MessageSecurityVersions "WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10" and "WSSecurity11WSTrust13WSSecureConversation13" indicates the wrong Security version specification in the Security Specification collection. WIF uses reflection to access the correct SecurityVersion by casting the given SecurityTokenVersion to the internal MessageSecurityTokenVersion.

  • WrappedSessionSecurityTokenAuthenticator.ReplaceAuthPolicies. WIF implements its claims model through token validation. However, due to the strict internal implementation in WCF regarding SecurityContextToken authentication and creation, WIF allows WCF to create the SecurityContextToken and then uses reflection replace the internal AuthorizationPolicies in the token.

The WIF methods listed previously are themselves private and should not be called.