System.IdentityModel Namespaces

The System.IdentityModel namespaces contain types that are used to provide authentication and authorization for .NET applications.

Namespaces

Namespace Description
System.IdentityModel The System.IdentityModel namespace contains classes that are used to build security token services (STS). These include the SecurityTokenService and Scope classes, as well as exception several utility classes that provide the ability to perform cookie transforms.
System.IdentityModel.Claims The System.IdentityModel.Claims namespace contains classes that implement the Windows Communication Foundation (WCF) claims-based identity authorization model. This model includes the Claim class and the ClaimSet class.Beginning with .NET Framework 4.5 and the integration of Windows Identity Foundation (WIF) into the .NET Framework, the WCF claims-based identity model has been superseded by WIF. WIF provides a claims-based identity object model that can be used to provide authentication and authorization across several Microsoft product stacks, including the CLR, WCF, and ASP.NET. The WIF classes that represent claims, claim types, and identities and principals that are based on claims are contained in the System.Security.Claims namespace. Beginning with .NET 4.5, these classes should be used instead of those in the System.IdentityModel.Claims namespace.
System.IdentityModel.Configuration The System.IdentityModel.Configuration namespace contains classes that provide configuration for applications and services built using the Windows Identity Foundation (WIF). The classes in this namespace represent settings under the <identityConfiguration> element. Classes that configure federation using the WS-Federation protocol are contained primarily in the System.IdentityModel.Services.Configuration namespace. These settings appear under the <system.identityModel.services> element in a configuration file.
System.IdentityModel.Metadata The System.IdentityModel.Metadata namespace contains classes that represent elements in a Federation Metadata document. A Federation Metadata document is an XML document that provides information that may be useful to partners when establishing a federation. For more information about federation metadata, see section three of the following specification: Web Services Federation Language (WS-Federation) Version 1.2 (https://go.microsoft.com/fwlink/?LinkID=210152).
System.IdentityModel.Policy The System.IdentityModel.Policy namespace contains classes that are used to implement authorization policy when using the WCF claims-based identity model.Beginning with .NET Framework 4.5 and the integration of Windows Identity Foundation (WIF) into the .NET Framework, the WCF claims-based identity model has been superseded by WIF. WIF provides a claims-based identity object model that can be used to provide authentication and authorization across several Microsoft product stacks, including the CLR, WCF, and ASP.NET. In WIF, authorization policy is implemented by extending the System.Security.Claims.ClaimsAuthorizationManager class. Beginning with .NET 4.5, authorization policy should be implemented by using WIF instead of the classes in the System.IdentityModel.Claims namespace.
System.IdentityModel.Protocols.WSTrust The System.IdentityModel.Protocols.WSTrust namespace contains classes that represent WS-Trust artifacts. These include the RequestSecurityToken (RST) and RequestSecurityToken (RSTR) classes and several serializers that can serialize and deserialize between WS-Trust artifacts on the wire and their representation in the object model. Out-of-the-box, Windows Identity Foundation (WIF) contains support for the following WS-Trust specifications: WS-Trust February 2005 (https://go.microsoft.com/fwlink/?LinkID=210149), WS-Trust 1.3 (https://go.microsoft.com/fwlink/?LinkID=210148), or WS-Trust 1.4 (https://go.microsoft.com/fwlink/?LinkID=210229).
System.IdentityModel.Selectors The System.IdentityModel.Selectors namespace contains classes that implement authentication in the Windows Communication Foundation (WCF) claims-based identity model.Beginning with .NET Framework 4.5 and the integration of Windows Identity Foundation (WIF) into the .NET Framework, the WCF claims-based identity model has been superseded by WIF. WIF provides a claims-based identity object model that can be used to provide authentication and authorization across several Microsoft product stacks, including the CLR, WCF, and ASP.NET. The WIF classes that represent security tokens and that are used to process security tokens are contained in the System.IdentityModel.Tokens namespace; for example, SecurityToken and SecurityTokenHandler. Beginning with .NET 4.5, the classes in the System.IdentityModel.Tokens namespace should be used instead of those in the System.IdentityModel.Selectors namespace.
System.IdentityModel.Services The System.IdentityModel.Services namespace primarily contains classes that are used in applications built using Windows Identity Foundation (WIF) that perform federated authentication with the WS-Federation protocol. It contains the HTTP Modules, WSFederationAuthenticationModule (WSFAM) and SessionAuthenticationModule (SAM), as well as classes that support their operation. The WSFAM provides handling for the WS-Federation sign-in and sign-out sequences and the SAM provides session management by maintaining and handling cookies. The namespace also contains classes that represent WS-Federation messages (WSFederationMessage), such as sign-in (SignInRequestMessage, SignInResponseMessage) and sign-out messages (SignOutRequestMessage), as well as serializers that serialize and deserialize between the object model and the on-the-wire representations of these messages.
System.IdentityModel.Services.Configuration The System.IdentityModel.Services.Configuration namespace contains classes that provide configuration for Windows Identity Foundation (WIF) applications that use the WS-Federation protocol. The classes in this namespace represent settings under the <system.identityModel.services> element. The System.IdentityModel.Services namespace also contains some of the classes that are used to configure WS-Federation. Classes that configure other service and application settings, such as security token handlers, are contained primarily in the System.IdentityModel.Configuration namespace. These settings appear under the <identityConfiguration> element in a configuration file.
System.IdentityModel.Services.Tokens The System.IdentityModel.Services.Tokens contains the MachineKeySessionSecurityTokenHandler class and the MembershipUserNameSecurityTokenHandler class.
System.IdentityModel.Tokens The System.IdentityModel.Tokens namespace contains classes that represent security tokens, security token handlers, key identifier clauses and other artifacts used in token generation and processing. The namespace contains base classes such as SecurityToken, SecurityTokenHandler, and SecurityKeyIdentifierClause, as well as classes that derive from these classes and represent several of the token types, artifacts, and handlers for which the Windows Identity Foundation (WIF) has built in support. This includes classes that contain support for SAML v1.1 and v2.0 tokens, such as: SamlSecurityToken, SamlSecurityTokenHandler, Saml2SecurityToken, and Saml2SecurityTokenHandler.