{"id":360,"date":"2010-05-11T17:27:00","date_gmt":"2010-05-12T02:27:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2010\/05\/11\/a-hidden-gem-the-wif-config-schema\/"},"modified":"2010-05-11T17:27:00","modified_gmt":"2010-05-12T02:27:00","slug":"a-hidden-gem-the-wif-config-schema","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2010\/05\/11\/a-hidden-gem-the-wif-config-schema\/","title":{"rendered":"A Hidden Gem: The WIF Config Schema"},"content":{"rendered":"<div class=\"wlWriterHeaderFooter\" style=\"float:right;margin:0px;padding:0px 0px 4px 8px\">digg_url = &#8220;http:\/\/blogs.msdn.com\/vbertocci\/archive\/2010\/05\/11\/a-hidden-gem-the-wif-config-schema.aspx&#8221;;digg_title = &#8220;A Hidden Gem: The WIF Config Schema&#8221;;digg_bgcolor = &#8220;#FFFFFF&#8221;;digg_skin = &#8220;normal&#8221;;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;<\/div>\n<p>During the WIF workshops I get various recurring questions: some have open-ended answers which would satisfy my logorrhea but that require A LOT of time to write, others are just a matter a minutes. Today\u2019s post&#160; belongs to the latter category. <\/p>\n<p>Some of you would like more detailed documentation about the WIF configuration element: I have discovered that not everybody is aware that the full schema is available in the C:Program Files (x86)Windows Identity Foundation SDKvX.X folder! On top of that, there is also a sample XML file which gives a succinct but super-useful explanation of every element\u2019s usage. I am including here a screenshot of the schema (click for full size!) and I am pasting the sample file, so that you can hit it via search engine if you need to.<\/p>\n<p>&#160;<\/p>\n<p><a href=\"http:\/\/blogs.msdn.com\/blogfiles\/vbertocci\/WindowsLiveWriter\/AHiddenGemTheWIFConfigSchema_F56D\/ConfigPoster_2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px\" title=\"ConfigPoster\" border=\"0\" alt=\"ConfigPoster\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2010\/05\/ConfigPoster_2.png\" width=\"103\" height=\"484\" \/><\/a> <\/p>\n<pre class=\"code\"><span style=\"color: blue\">&lt;?<\/span><span style=\"color: #a31515\">xml <\/span><span style=\"color: red\">version<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">1.0<\/span>&quot; <span style=\"color: red\">encoding<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">utf-8<\/span>&quot;<span style=\"color: blue\">?&gt;\r\n&lt;!--\r\n     <\/span><span style=\"color: green\">MICROSOFT WINDOWS IDENTITY FOUNDATION ASP.NET RELYING PARTY CONFIGURATION\r\n\r\n     In order to use the Windows Identity Foundation Framework to create an ASP.NET \r\n     website that acts as a Information Card or WS-Federation relying party, \r\n     you must make a number of changes to your web.config file.\r\n\r\n     (1) Reference the Microsoft.IdentityModel assembly\r\n\r\n     You must reference the Microsoft.IdentityModel assembly from the \r\n     system.web\/compilation section of your web.config. This section would\r\n     look like this:\r\n\r\n     &lt;configuration&gt;\r\n       ...\r\n       &lt;system.web&gt;\r\n         ...\r\n         &lt;compilation&gt;\r\n           &lt;assemblies&gt;\r\n             &lt;add assembly=&quot;Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; \/&gt;\r\n           &lt;\/assemblies&gt;\r\n         &lt;\/compilation&gt;\r\n         ...\r\n       &lt;\/system.web&gt;\r\n       ...\r\n     &lt;\/configuration&gt;\r\n\r\n     (2) Register the HTTP module\r\n\r\n     Support for relying party has been built using the following ASP.NET modules.\r\n        (a) SessionAuthenticationModule\r\n        (b) WSFederationAuthenticationModule\r\n        (c) ClaimsPrincipalHttpModule\r\n     Depending on your scenario you will include one or more of these modules.\r\n     \r\n     The below examples show how you must add the WSFederationAuthenticationModule in \r\n     one of two places depending on your hosting environment.\r\n\r\n       (a) For &quot;classic&quot; ASP.NET (includes IIS6 or IIS7 with a &quot;classic&quot; application pool)\r\n\r\n       You must reference WSFederationAuthenticationModule from the system.web\/httpModules\r\n       section of your web.config. This section would look like this:\r\n\r\n       &lt;configuration&gt;\r\n         ...\r\n         &lt;system.web&gt;\r\n           ...\r\n           &lt;httpModules&gt;\r\n             &lt;add name=&quot;WSFederatedAuthenticationModule&quot; type=&quot;Microsoft.IdentityModel.Web.WSFederatedAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;\/&gt;\r\n           &lt;\/httpModules&gt;\r\n           ...\r\n         &lt;\/system.web&gt;\r\n         ...\r\n       &lt;\/configuration&gt;\r\n       \r\n       (b) For IIS7 &quot;integrated&quot; mode\r\n\r\n       You must reference WSFederationAuthenticationModule from the system.webServer\/modules\r\n       section of your web.config or applicationHost.config. This section would look like\r\n       this:\r\n\r\n       &lt;configuration&gt;\r\n         ...\r\n         &lt;system.webServer&gt;\r\n           ...\r\n           &lt;modules&gt;\r\n             &lt;add name=&quot;WSFederationAuthenticationModule&quot; type=&quot;Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; preCondition=&quot;managedHandler&quot;\/&gt;\r\n           &lt;\/modules&gt;\r\n           ...\r\n         &lt;\/system.webServer&gt;\r\n         ...\r\n       &lt;\/configuration&gt;\r\n\r\n     (3) Register the configuration section\r\n\r\n     In order to use the rest of the configuration described by this file in your\r\n     web.config, you must reference MicrosoftIdentityModelSection from the configSections\r\n     section of your web.config. This section would look like this:\r\n\r\n     &lt;configuration&gt;\r\n       ...\r\n       &lt;configSections&gt;\r\n         &lt;section name=&quot;microsoft.identityModel&quot; type=&quot;Microsoft.IdentityModel.Web.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;\/&gt;\r\n       &lt;\/configSections&gt;\r\n       ...\r\n     &lt;\/configuration&gt;\r\n\r\n  <\/span><span style=\"color: blue\">--&gt;\r\n\r\n&lt;<\/span><span style=\"color: #a31515\">configuration<\/span><span style=\"color: blue\">&gt;\r\n  &lt;<\/span><span style=\"color: #a31515\">configSections<\/span><span style=\"color: blue\">&gt;\r\n    &lt;!--<\/span><span style=\"color: green\">&lt;section name=&quot;microsoft.identityModel&quot; type=&quot;Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; \/&gt;<\/span><span style=\"color: blue\">--&gt;\r\n    &lt;<\/span><span style=\"color: #a31515\">section <\/span><span style=\"color: red\">name<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">microsoft.identityModel<\/span>&quot; <span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n  &lt;\/<\/span><span style=\"color: #a31515\">configSections<\/span><span style=\"color: blue\">&gt;\r\n\r\n\r\n  &lt;!--\r\n     <\/span><span style=\"color: green\">The XML below illustrates the available configuration elements for the \r\n     WSFederationAuthenticationModule. This section contains some general comments\r\n     about conventions used throughout.\r\n\r\n     MODES\r\n\r\n     Many of the elements have a 'mode' attribute. This attribute generally \r\n     controls which class is used to do a particular part of the processing,\r\n     and which configuration elements are allowed as children of the current \r\n     element. A configuration error will be raised if elements are included\r\n     in the configuration file which are ignored because of the mode.\r\n\r\n     TIMESPAN VALUES\r\n\r\n     Where TimeSpan is used as the type of an attribute, see the MSDN documentation\r\n     for TimeSpan.Parse to see the allowed format, which fits this specification:\r\n       [ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]\r\n\r\n     For example, &quot;30&quot;, &quot;30.00:00&quot;, &quot;30.00:00:00&quot; all mean 30 days; and &quot;00:05&quot;, \r\n     &quot;00:05:00&quot;, &quot;0.00:05:00.00&quot; all mean five minutes.\r\n\r\n     CERTIFICATE REFERENCES\r\n\r\n     Several elements reference certificates. When referencing a certificate, these\r\n     attributes are available:\r\n\r\n       storeLocation\r\n         A value of the System.Security.Cryptography.X509Certificates.StoreLocation \r\n         enumeration: CurrentUser, CurrentMachine\r\n\r\n       storeName\r\n         A value of the System.Security.Cryptography.X509Certificates.StoreName \r\n         enumeration; the most useful for this context are: My, TrustedPeople\r\n\r\n       x509FindType\r\n         A value of the System.Security.Cryptography.X509Certificates.X509FindType\r\n         enumeration; the most useful for this context are: FindBySubjectName, \r\n         FindByThumbprint\r\n\r\n       findValue\r\n         The value used to find the certificate, based on the x509FindType. To \r\n         eliminate the chance of error, it is recommended that the FindByThumbprint\r\n         type be used in production, in which case this attribute has a value which\r\n         is the hex-string form of the certificate thumbprint; for example, \r\n         &quot;97249e1a5fa6bee5e515b82111ef524a4c91583f&quot;.\r\n\r\n     CUSTOM TYPE REFERENCES\r\n\r\n     Several elements reference custom types, using the 'type' attribute. This \r\n     attribute should specify the name of the custom type. To reference a type\r\n     from the GAC, a strong name should be used. To reference a type from an \r\n     assembly in the bin\/ directory, a simple assembly-qualified reference may\r\n     be used. Types defined in App_Code\/ may also be referenced by simply \r\n     specifying the type name with no qualifying assembly. Custom types must \r\n     be derived from the type specified, and they must provide a public default \r\n     (0 argument) constructor.\r\n\r\n  <\/span><span style=\"color: blue\">--&gt;\r\n  &lt;<\/span><span style=\"color: #a31515\">microsoft.identityModel<\/span><span style=\"color: blue\">&gt;\r\n    &lt;!--\r\n        <\/span><span style=\"color: green\">Multiple services may be defined, each with a unique name and defining \r\n        a specific configuration. \r\n        \r\n         Example\r\n        &lt;service name=&quot;alternate&quot; &gt;\r\n\r\n        If no name is specified, the service defines the\r\n        default configuration, which is always used for passive federation scenarios.\r\n    <\/span><span style=\"color: blue\">--&gt;\r\n    &lt;<\/span><span style=\"color: #a31515\">service<\/span><span style=\"color: blue\">&gt;\r\n\r\n    &lt;!-- \r\n         <\/span><span style=\"color: green\">&lt;securityTokenHandlers&gt; contains the set of SecurityTokenHandlers that \r\n         are registered with the endpoint. The securityTokenHandlers collection \r\n         by default is populated with Saml11SecurityTokenHandler, Saml2SecurityTokenHandler, \r\n         KerberosSecurityTokenHandler, WindowsUserNameSecurityTokenHandler, RsaSecurityTokenHandler, \r\n         X509SecurityTokenHandler and EncryptedSecurityTokenHandler. \r\n                 \r\n         Each of the TokenHandler setting can have custom configuration as\r\n         a child element to the TokenHandler element entry. Saml11SecurityTokenHandler,  \r\n         Saml2SecurityTokenHandler, X509SecurityTokenHandler and MembershipUserNameSecurityTokenHandler\r\n         have a pre-defined custom configuration section.\r\n         \r\n         SecurityTokenHandler collections can also be named, to be used in certain circumstances. The only names\r\n         that the framework handles are &quot;ActAs&quot; and &quot;OnBehalfOf&quot;. If handlers exist in these collections, they\r\n         will be used lieu of the default handlers for processing ActAs and OnBehalfOf tokens.\r\n         \r\n         Example\r\n         &lt;securityTokenHandlers name=&quot;ActAs&quot;&gt;\r\n         \r\n     <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">securityTokenHandlers<\/span><span style=\"color: blue\">&gt;\r\n        \r\n        &lt;!--\r\n            <\/span><span style=\"color: green\">Configuration specific to this collection of security token handlers.\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        \r\n        &lt;<\/span><span style=\"color: #a31515\">securityTokenHandlerConfiguration<\/span><span style=\"color: blue\">&gt;\r\n\r\n          &lt;!--\r\n              <\/span><span style=\"color: green\">&lt;audienceUris&gt; specifies the set of URIs which are acceptable\r\n              as identifying this relying party. Tokens will not be accepted unless\r\n              they are scoped for one of the allowed audience URIs.\r\n\r\n              By default, no URIs will be added to the collection.\r\n\r\n              The SecurityTokenHandler for the SAML 1.1 and SAML 2.0 token types\r\n              use the values in this collection to configure any allowed audience\r\n              uri restrictions in SamlSecurityTokenRequirement objects.\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          \r\n          &lt;<\/span><span style=\"color: #a31515\">audienceUris<\/span><span style=\"color: blue\">&gt;\r\n            &lt;!-- \r\n                <\/span><span style=\"color: green\">&lt;clear\/&gt; may be used to remove any URIs that may be in\r\n                this configuration collection.\r\n            <\/span><span style=\"color: blue\">--&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">clear<\/span><span style=\"color: blue\">\/&gt;\r\n            &lt;!--\r\n                <\/span><span style=\"color: green\">Each &lt;add&gt; references an allowed audience URI.\r\n            <\/span><span style=\"color: blue\">--&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">value<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/www.example.com\/myapp\/<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n            &lt;!--\r\n                <\/span><span style=\"color: green\">Each &lt;remove&gt; removes an audience URI.\r\n            <\/span><span style=\"color: blue\">--&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">remove <\/span><span style=\"color: red\">value<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/www.example.com\/myapp\/<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n          &lt;\/<\/span><span style=\"color: #a31515\">audienceUris<\/span><span style=\"color: blue\">&gt;\r\n\r\n          &lt;!-- \r\n              <\/span><span style=\"color: green\">issuerNameRegistry - All issuer tokens are validated using the IssuerNameRegistry.\r\n              The purpose of the IssuerNameRegistry is to map the issuer token to a string name.\r\n              Any custom type can be registered using the 'type' attribute of the &lt;issuerNameRegistry&gt;\r\n              element. The &lt;issuerNameRegistry&gt; can have one child element that will serve as\r\n              custom configuration to the IssuerNameRegistry. \r\n              \r\n              One IssuerNameRegistry type is provided out of the box.\r\n                (a) ConfigurationBasedIssuerNameRegistry - Can be used to configure a set\r\n                    trusted issuer certificates in configuration. This type requires a child\r\n                    configuration element &lt;trustedIssuers&gt; where trusted issuer certificates \r\n                    configured. &lt;trustedIssuers&gt; configuration adds trusted certs using the\r\n                    ASN.1 encoded form of the certificate thumbprint. \r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">issuerNameRegistry <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel<\/span>&quot;<span style=\"color: blue\">&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">trustedIssuers<\/span><span style=\"color: blue\">&gt;\r\n              &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">thumbprint<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">97249e1a5fa6bee5e515b82111ef524a4c9158de<\/span>&quot; <span style=\"color: red\">name<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">contoso.com<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n              &lt;<\/span><span style=\"color: #a31515\">remove <\/span><span style=\"color: red\">thumbprint<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">97249e1a5fa6bee5e515b82111ef524a4c9158de<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n              &lt;<\/span><span style=\"color: #a31515\">clear<\/span><span style=\"color: blue\">\/&gt;\r\n            &lt;\/<\/span><span style=\"color: #a31515\">trustedIssuers<\/span><span style=\"color: blue\">&gt;\r\n          &lt;\/<\/span><span style=\"color: #a31515\">issuerNameRegistry<\/span><span style=\"color: blue\">&gt;\r\n\r\n\r\n          &lt;!-- \r\n              <\/span><span style=\"color: green\">&lt;issuerTokenResolver&gt; registers an issuer token resolver.\r\n              This can be used to resolve Issuer KeyIdentifierClauser while\r\n              deserializing a SAML token.\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          \r\n          &lt;<\/span><span style=\"color: #a31515\">issuerTokenResolver <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomTokenResolver, MyAssembly<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n          &lt;!-- \r\n              <\/span><span style=\"color: green\">&lt;serviceTokenResolver&gt; registers a service token resolver.\r\n              This can be used to resolve Issuer KeyIdentifierClauser while\r\n              deserializing a SAML token.\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          \r\n          &lt;<\/span><span style=\"color: #a31515\">serviceTokenResolver <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomTokenResolver, MyAssembly<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n\r\n        &lt;\/<\/span><span style=\"color: #a31515\">securityTokenHandlerConfiguration<\/span><span style=\"color: blue\">&gt;\r\n        &lt;!-- \r\n            <\/span><span style=\"color: green\">&lt;clear \/&gt; may be used to clear all the token handlers in the current\r\n            collection. \r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">clear <\/span><span style=\"color: blue\">\/&gt;\r\n        &lt;!-- \r\n            <\/span><span style=\"color: green\">&lt;remove&gt; can be used to remove a specific TokenHandler from the \r\n             current collection.\r\n             \r\n             ATTRIBUTES\r\n             \r\n             type - The CLR type name of the token handler to be removed.\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">remove <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n        &lt;!--\r\n             <\/span><span style=\"color: green\">&lt;add&gt; can be used to add a specific TokenHandler from the \r\n             current collection. The element can be followed by an custom\r\n             element section. The &lt;add&gt; element can take only one child element\r\n             which describes the custom configuration. When custom configuration\r\n             is used the Token Handler type should expose a constructor that takes\r\n             in an XmlElement.\r\n             \r\n             public class CustomTokenHandler : SecurityTokenHandler\r\n             {\r\n                 public CustomTokenHandler( XmlElement customConfig )\r\n                 {\r\n                 }\r\n             }\r\n             \r\n             ATTRIBUTES\r\n             \r\n             type - The CLR type name of the token handler to be added.\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomTokenHandler, MyAssembly<\/span>&quot;<span style=\"color: blue\">&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">customConfig <\/span><span style=\"color: red\">myAttr<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">val<\/span>&quot;<span style=\"color: blue\">&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">customSubConfig<\/span><span style=\"color: blue\">&gt;\r\n            &lt;\/<\/span><span style=\"color: #a31515\">customSubConfig<\/span><span style=\"color: blue\">&gt;\r\n          &lt;\/<\/span><span style=\"color: #a31515\">customConfig<\/span><span style=\"color: blue\">&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">add<\/span><span style=\"color: blue\">&gt;\r\n        &lt;!-- <\/span><span style=\"color: green\">Saml11SecurityTokenHandler and Saml2SecurityTokenHandler have specific custom \r\n           configuration. This is optional and can be used to change the \r\n           default settings for any of these.\r\n           \r\n           &lt;samlSecurityTokenRequirement&gt; element can appear as child element\r\n           for a Saml11SecurityTokenHandler or Saml2SecurityTokenHandler or a derived class\r\n           of any of these. \r\n           \r\n           ATTRIBUTES\r\n           \r\n           issuerCertificateValidationMode -  X509CertificateValidationMode value that specifies \r\n           the validation mode to use for the X.509 certificate. The default value is PeerOrChainTrust. \r\n       \r\n           issuerCertificateRevocationMode -  X509CertificateRevocationMode type that specifies the revocation mode \r\n           to use for the X.509 certificate. The default value is Online.\r\n\r\n           issuerCertificateTrustedStoreLocation - X509TrustedStoreLocation type that specifies the X.509 certificate \r\n           store. The default value is LocalMachine. \r\n           \r\n           issuerCertificateValidator - A custom type that derives from System.IdentityModel.Selectors.X509CertificateValidator.\r\n           If the certificateValidationMode attribute is &quot;Custom&quot;, an instance of this type will be used for issuer certificate validation.\r\n\r\n           mapToWindows - Boolean - Default is false. Specifies whether the\r\n           token handler should map the validating token to a Windows account\r\n           by using the incoming UPN claim.\r\n\r\n           useWindowsTokenService - Boolean - Default is false. Specifies whether\r\n           the token handler should utilize the Windows Token Service to perform\r\n           the log on operation for the mapToWindows feature.           \r\n           <\/span><span style=\"color: blue\">--&gt;\r\n        \r\n        &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel<\/span>&quot;<span style=\"color: blue\">&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">samlSecurityTokenRequirement <\/span><span style=\"color: red\">issuerCertificateValidationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">PeerOrChainTrust<\/span>&quot;\r\n                                        <span style=\"color: red\">issuerCertificateRevocationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Online<\/span>&quot;\r\n                                        <span style=\"color: red\">issuerCertificateTrustedStoreLocation<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">LocalMachine<\/span>&quot;\r\n                                        <span style=\"color: red\">mapToWindows<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">false<\/span>&quot;\r\n                                        <span style=\"color: red\">useWindowsTokenService<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">false<\/span>&quot;<span style=\"color: blue\">&gt;\r\n\r\n            &lt;!-- <\/span><span style=\"color: green\">&lt;nameClaimType&gt; specifies the claim type that specifies the \r\n               IIdentity.Name. The value is used to search for a Claim in \r\n               the SubjectCollection returned by SecurityTokenHandler.ValidateToken\r\n               and the value of the Claim is set as the name of the IIdentity \r\n               generated from this token handler. \r\n               \r\n               ATTRIBUTES\r\n               \r\n               value - URI that specifies the name claim type.\r\n               <\/span><span style=\"color: blue\">--&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">nameClaimType <\/span><span style=\"color: red\">value<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/schemas.xmlsoap.org\/ws\/2005\/05\/identity\/claims\/name<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n            &lt;!-- <\/span><span style=\"color: green\">&lt;roleClaimType&gt; specifies the set of claim type that defines the\r\n               role type claims in the SubjectCollection created SecurityTokenHandler.\r\n               ValidateToken. \r\n               <\/span><span style=\"color: blue\">--&gt;\r\n            &lt;<\/span><span style=\"color: #a31515\">roleClaimType <\/span><span style=\"color: red\">value<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">schemas.microsoft.com\/ws\/2006\/04\/identity\/claims\/role<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n          &lt;\/<\/span><span style=\"color: #a31515\">samlSecurityTokenRequirement<\/span><span style=\"color: blue\">&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">add<\/span><span style=\"color: blue\">&gt;\r\n        \r\n        &lt;!-- <\/span><span style=\"color: green\">MembershipUserNameSecurityTokenHandler has specific custom \r\n           configuration. \r\n           \r\n           &lt;usernameSecurityTokenHandlerRequirement&gt; element can appear as child element\r\n           for a MembershipUserNameSecurityTokenHandler.\r\n           \r\n           membershipProvider- Specifies the MembershipProvider that should be used\r\n           by this SecurityTokenHandler and must appear as a child element of\r\n           &lt;usernameSecurityTokenHandlerRequirement&gt;\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        \r\n        &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.MembershipUserNameSecurityTokenHandler, Microsoft.IdentityModel<\/span>&quot;<span style=\"color: blue\">&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">userNameSecurityTokenHandlerRequirement <\/span><span style=\"color: red\">membershipProviderName<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">AspNetSqlProvider<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">add<\/span><span style=\"color: blue\">&gt;\r\n\r\n        &lt;!-- <\/span><span style=\"color: green\">X509SecurityTokenHandler has specific custom configuration.\r\n           \r\n           &lt;x509SecurityTokenHandlerRequirement&gt; element can appear as child element\r\n           for a MembershipUserNameSecurityTokenHandler.\r\n           \r\n           ATTRIBUTES\r\n           \r\n           mapToWindows- boolean value that specifies if the X.509 Certificate being\r\n           validated should be mapped to a windows account. Default value is false.\r\n\r\n           certificateValidationMode -  X509CertificateValidationMode value that specifies \r\n           the validation mode to use for the X.509 certificate. The default value is PeerOrChainTrust. \r\n       \r\n           revocationMode -  X509CertificateRevocationMode type that specifies the revocation mode \r\n           to use for the X.509 certificate. The default value is Online.\r\n\r\n           trustedStoreLocation - X509TrustedStoreLocation type that specifies the X.509 certificate \r\n           store. The default value is LocalMachine. \r\n           \r\n           certificateValidator - A custom type that derives from System.IdentityModel.Selectors.X509CertificateValidator.\r\n           If the certificateValidationMode attribute is &quot;Custom&quot;, an instance of this type will be used by this handler for certificate validation.\r\n            \r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler, Microsoft.IdentityModel<\/span>&quot;<span style=\"color: blue\">&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">x509SecurityTokenHandlerRequirement <\/span><span style=\"color: red\">mapToWindows<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot; \r\n                                               <span style=\"color: red\">certificateValidationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">PeerOrChainTrust<\/span>&quot; \r\n                                               <span style=\"color: red\">revocationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Online<\/span>&quot; \r\n                                               <span style=\"color: red\">trustedStoreLocation<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">LocalMachine<\/span>&quot;\r\n                                               <span style=\"color: red\">useWindowsTokenService<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;<span style=\"color: blue\">\/&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">add<\/span><span style=\"color: blue\">&gt;\r\n\r\n          &lt;!--\r\n              <\/span><span style=\"color: green\">&lt;sessionTokenRequirement&gt; element can appear as a child element for a\r\n              SessionSecurityTokenHandler.\r\n              \r\n              ATTRIBUTES\r\n              \r\n              lifetime - lifetime of session tokens\r\n              \r\n              saveBootstrapTokens - boolean value that specifies if bootstrap tokens should be included\r\n              int the session token\r\n              \r\n              securityTokenCacheSize - Integer - maximum number of entries in the security token cache\r\n              \r\n              securityTokenCacheType - String - references a custom type which must be derived from SecurityTokenCache\r\n              \r\n              useWindowsTokenService - boolean value that specifies whether WindowsLogon tokens should be mapped to windows\r\n              accounts\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n        \r\n        &lt;<\/span><span style=\"color: #a31515\">add <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler, Microsoft.IdentityModel<\/span>&quot;<span style=\"color: blue\">&gt;         \r\n          &lt;<\/span><span style=\"color: #a31515\">sessionTokenRequirement <\/span><span style=\"color: red\">securityTokenCacheType<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Microsoft.IdentityModel.MruSecurityTokenCache, Microsoft.IdentityModel<\/span>&quot;\r\n                                    <span style=\"color: red\">saveBootstrapTokens<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                                    <span style=\"color: red\">securityTokenCacheSize<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">500<\/span>&quot;\r\n                                    <span style=\"color: red\">useWindowsTokenService<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">false<\/span>&quot;\r\n                                    <span style=\"color: red\">lifetime<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">10:00<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">add<\/span><span style=\"color: blue\">&gt;\r\n\r\n      &lt;\/<\/span><span style=\"color: #a31515\">securityTokenHandlers<\/span><span style=\"color: blue\">&gt;\r\n\r\n      &lt;!--\r\n            <\/span><span style=\"color: green\">&lt;certificateValidation&gt; controls the settings that token handlers will use to validate certificates, \r\n            unless those handlers have their own validators set.\r\n            \r\n           ATTRIBUTES\r\n\r\n           certificateValidationMode -  X509CertificateValidationMode value that specifies \r\n           the validation mode to use for the X.509 certificate. The default value is PeerOrChainTrust. \r\n       \r\n           revocationMode -  X509CertificateRevocationMode type that specifies the revocation mode \r\n           to use for the X.509 certificate. The default value is Online.\r\n\r\n           trustedStoreLocation - X509TrustedStoreLocation type that specifies the X.509 certificate \r\n           store. The default value is LocalMachine. \r\n           \r\n           certificateValidator - A custom type that derives from System.IdentityModel.Selectors.X509CertificateValidator.\r\n           If the certificateValidationMode attribute is &quot;Custom&quot;, an instance of this type will be used by underlying handlers for certificate validation.\r\n            \r\n      <\/span><span style=\"color: blue\">--&gt;\r\n\r\n      &lt;<\/span><span style=\"color: #a31515\">certificateValidation <\/span><span style=\"color: red\">certificateValidationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">PeerOrChainTrust<\/span>&quot;\r\n                             <span style=\"color: red\">revocationMode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Online<\/span>&quot;\r\n                             <span style=\"color: red\">trustedStoreLocation<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">LocalMachine<\/span>&quot; <span style=\"color: blue\">&gt;\r\n        \r\n        &lt;!--\r\n           <\/span><span style=\"color: green\">&lt;certificateValidator&gt; allows for a custom type to be specified for certificate validation.\r\n           This type will only be used if the certificateValidationMode is set to &quot;Custom&quot;\r\n           \r\n           Type - A custom type that derives from System.IdentityModel.Selectors.X509CertificateValidator.\r\n           This validator will be used by the default SecurityTokenHandler instances, unless those have their own validators set.\r\n\r\n      <\/span><span style=\"color: blue\">--&gt;\r\n        \r\n        &lt;<\/span><span style=\"color: #a31515\">certificateValidator <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">CustomType<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n        \r\n      &lt;\/<\/span><span style=\"color: #a31515\">certificateValidation<\/span><span style=\"color: blue\">&gt;\r\n      \r\n      &lt;!-- <\/span><span style=\"color: green\">&lt;maximumClockSkew&gt; Controls the maximum allowed clock skew when \r\n         performing time-sensitive operations such as validating the expiration\r\n         time of a sign-in session. Defaults to 5 minutes.\r\n         <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">maximumClockSkew <\/span><span style=\"color: red\">value<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">00:05:00<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n      &lt;!-- \r\n           <\/span><span style=\"color: green\">&lt;serviceCertificate&gt; controls the certificate used for token \r\n           decryption. In the case of an Information Card relying party, this\r\n           should be the SSL certificate of the web site.\r\n\r\n           Any certificate that is identified must have a private key and the \r\n           private key must have appropriate access control permissions so that\r\n           it may be read by the application pool identity.\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">serviceCertificate<\/span><span style=\"color: blue\">&gt;\r\n        &lt;!-- \r\n             <\/span><span style=\"color: green\">&lt;certificateReference&gt;, See the comments \r\n             before the &lt;configuration&gt; element on certificate references.\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">certificateReference <\/span><span style=\"color: red\">x509FindType<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">FindByThumbprint<\/span>&quot;\r\n                              <span style=\"color: red\">findValue<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">97249e1a5fa6bee5e515b82111ef524a4c91583f<\/span>&quot;\r\n                              <span style=\"color: red\">storeLocation<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">LocalMachine<\/span>&quot;\r\n                              <span style=\"color: red\">storeName<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">My<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n      &lt;\/<\/span><span style=\"color: #a31515\">serviceCertificate<\/span><span style=\"color: blue\">&gt;\r\n\r\n      &lt;!--\r\n         <\/span><span style=\"color: green\">&lt;federatedAuthentication&gt; contains all the settings used by the \r\n         ASP.NET modules. \r\n\r\n         ATTRIBUTES\r\n\r\n         enabled - Boolean - default false\r\n           Controls whether the module added to the ASP.NET pipeline is \r\n           enabled so that it actively processes each request. The specfic \r\n           task each module might do depends on the module that is added\r\n           in the pipeline.\r\n     <\/span><span style=\"color: blue\">--&gt;\r\n\r\n      &lt;<\/span><span style=\"color: #a31515\">federatedAuthentication<\/span><span style=\"color: blue\">&gt;\r\n\r\n        &lt;!--\r\n           <\/span><span style=\"color: green\">&lt;wsFederattion&gt; defines parameter settings for WS-FEDERATION protocol STS.\r\n           This affects the settings for the WSFederationAuthenticationModule.\r\n           \r\n           ATTRIBUTES\r\n           \r\n           Parameters for WS-Federation\r\n             authenticationType - String - default &quot;&quot;\r\n               The request wauth type\r\n             \r\n             freshness - Float - default &quot;&quot;\r\n               The value of the required freshness.\r\n               \r\n             homeRealm - String - default &quot;&quot;\r\n               The home realm of the IdentityProvider\r\n               \r\n             issuer - String - default &quot;&quot;\r\n               The URI of the token issuer.\r\n               \r\n             policy - String - default &quot;&quot;\r\n               The URI of the relevant policy.\r\n               \r\n             realm - String - default &quot;&quot;\r\n               The URI of requesting realm.\r\n               \r\n             reply - String - default &quot;&quot;\r\n               The URI of address to reply to.\r\n               \r\n             request - String - default &quot;&quot;\r\n               The URI of WS-FEDERATION request.\r\n               \r\n             requestPtr - String - default &quot;&quot;\r\n               The URI of WS-FEDERATION request pointer.\r\n               \r\n             resource - String - default &quot;&quot;\r\n               The URI of WS-FEDERATION resource value.\r\n           \r\n           requireHttps - Boolean - default true\r\n           Controls whether the module will only redirect a secure URL for the STS.\r\n           \r\n           passiveRedirectEnabled - Boolean - default false\r\n           Controls whether the module is enabled to automatically redirect\r\n           unauthorized requests to an STS.\r\n\r\n           persistentCookiesOnPassiveRedirects - Boolean - default false           \r\n           Specifies whether persistent cookies are issued when the module is enabled to initiate WS-Federation passive protocol redirects.\r\n\r\n           signInQueryString - String - default &quot;&quot;\r\n           Application defined parameters for the sign in request URL\r\n           \r\n           signOutQueryString - String - default &quot;&quot;\r\n           Application defined parameters for the sign out request URL\r\n           \r\n           signOutReply - String - default &quot;&quot;\r\n           URL to return to following sign out.\r\n           \r\n           \r\n        <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">wsFederation <\/span><span style=\"color: red\">authenticationType<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">wauth<\/span>&quot;\r\n                     <span style=\"color: red\">freshness<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">45<\/span>&quot;\r\n                     <span style=\"color: red\">homeRealm<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/homeRealm<\/span>&quot;\r\n                     <span style=\"color: red\">issuer<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">i<\/span>&quot;\r\n                     <span style=\"color: red\">policy<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/policy<\/span>&quot;\r\n                     <span style=\"color: red\">realm<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/realm<\/span>&quot;\r\n                     <span style=\"color: red\">reply<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/reply<\/span>&quot;\r\n                     <span style=\"color: red\">request<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/request<\/span>&quot;\r\n                     <span style=\"color: red\">requestPtr<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/requestPtr<\/span>&quot;\r\n                     <span style=\"color: red\">resource <\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/resource<\/span>&quot;\r\n                     <span style=\"color: red\">requireHttps<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                     <span style=\"color: red\">passiveRedirectEnabled<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                     <span style=\"color: red\">persistentCookiesOnPassiveRedirects<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                     <span style=\"color: red\">signInQueryString<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">abc=xyz<\/span>&quot;\r\n                     <span style=\"color: red\">signOutQueryString<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">def=uvw<\/span>&quot;\r\n                     <span style=\"color: red\">signOutReply<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">http:\/\/signoutreply<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n        &lt;!--\r\n           <\/span><span style=\"color: green\">&lt;cookieHandler&gt; controls the CookieHandler, which is responsible for \r\n           reading and writing raw cookies at the HTTP protocol level. \r\n           SessionAuthenticationModule uses the cookieHandler to read and write\r\n           cookies.\r\n\r\n           MODES\r\n\r\n           Default (default)\r\n             The same as Chunked.\r\n\r\n           Chunked\r\n             Uses an instance of the ChunkedCookieHandler class. This cookie \r\n             handler ensures that individual cookies do not exceed a set maximum\r\n             size. It accomplishes that by potentially &quot;chunking&quot; one logical \r\n             cookie into a number of on-the-wire cookies.\r\n\r\n           Custom\r\n             Uses an instance of a custom CookieHandler-derived class, referenced\r\n             by the &lt;customCookieHandler&gt; element.\r\n             \r\n           ATTRIBUTES\r\n         \r\n           domain - String - default &quot;&quot;\r\n             The domain value for any cookies written.\r\n\r\n           hideFromScript - Boolean - default true\r\n             Controls whether the &quot;HttpOnly&quot; flag is emitted for any cookies \r\n             written. Certain web browsers honor this flag by keeping client-side\r\n             script from accessing the cookie value.\r\n\r\n           name - String - default &quot;FedAuth&quot;\r\n             Controls the base name for any cookies written.\r\n\r\n           path - String - default is HttpRuntime.AppDomainAppVirtualPath\r\n             Controls the path value for any cookies written. \r\n\r\n           requireSsl - Boolean - default false\r\n             Controls whether the &quot;Secure&quot; flag is emitted for any cookies \r\n             written. If this value is set, the sign-in session cookies \r\n             will only be available over HTTPS.\r\n        <\/span><span style=\"color: blue\">--&gt;\r\n        &lt;<\/span><span style=\"color: #a31515\">cookieHandler <\/span><span style=\"color: red\">mode<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">Custom<\/span>&quot;\r\n                       <span style=\"color: red\">domain<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">.example.com<\/span>&quot;\r\n                       <span style=\"color: red\">hideFromScript<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                       <span style=\"color: red\">name<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">FedAuth<\/span>&quot;\r\n                       <span style=\"color: red\">path<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">\/<\/span>&quot;\r\n                       <span style=\"color: red\">requireSsl<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">true<\/span>&quot;\r\n                       <span style=\"color: red\">persistentSessionLifetime<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">60<\/span>&quot;<span style=\"color: blue\">&gt;\r\n          &lt;!--\r\n             <\/span><span style=\"color: green\">&lt;chunkedCookieHandler&gt; may only be present if the cookieHandler\/@mode\r\n             is Default or Chunked. It controls the ChunkedCookieHandler.\r\n             \r\n             ATTRIBUTES\r\n\r\n             chunkSize - Int32 - default 2000\r\n               The maximum size in characters of the HTTP cookie data for any \r\n               one HTTP cookie. Care must be taken when adjusting the chunk size. \r\n               Web browsers have different limits on the size of cookies and number\r\n               per domain. The original Netscape specification stipulated these \r\n               limits: 300 cookies total, 4096 bytes per cookie header (including \r\n               metadata, not just the cookie value), and 20 cookies per domain. \r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">chunkedCookieHandler <\/span><span style=\"color: red\">chunkSize<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">2000<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n\r\n          &lt;!--\r\n             <\/span><span style=\"color: green\">&lt;customCookieHandler&gt; may only be present if the cookieManager\/@mode\r\n             is Custom. It references a custom type which must be derived from \r\n             CookieHandler. See the comments before the &lt;configuration&gt; element on\r\n             custom type references.\r\n          <\/span><span style=\"color: blue\">--&gt;\r\n          &lt;<\/span><span style=\"color: #a31515\">customCookieHandler <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomCookieHandler, MyAssembly<\/span>&quot; <span style=\"color: blue\">\/&gt;\r\n        &lt;\/<\/span><span style=\"color: #a31515\">cookieHandler<\/span><span style=\"color: blue\">&gt;\r\n\r\n      &lt;\/<\/span><span style=\"color: #a31515\">federatedAuthentication<\/span><span style=\"color: blue\">&gt;\r\n\r\n      &lt;!-- \r\n          <\/span><span style=\"color: green\">claimsAuthenticationManager - Registers a Authentication Manager for the incoming\r\n          claims. ClaimsAuthenticationManager that echos the incoming claims is provided \r\n          through SimpleClaimsAuthenticationManager. &lt;claimsAuthenticationManager&gt; element\r\n          can be used to register other custom types as well. The element does not provide\r\n          mechanism to add any custom configuration for the defined types.\r\n      <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">claimsAuthenticationManager <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomClaimsAuthenticationManager, MyAssembly<\/span>&quot;<span style=\"color: blue\">\/&gt;\r\n\r\n      &lt;!-- \r\n          <\/span><span style=\"color: green\">claimsAuthorizationManager - Registers a Authorization Manager for the incoming\r\n          claims. \r\n      <\/span><span style=\"color: blue\">--&gt;\r\n      &lt;<\/span><span style=\"color: #a31515\">claimsAuthorizationManager <\/span><span style=\"color: red\">type<\/span><span style=\"color: blue\">=<\/span>&quot;<span style=\"color: blue\">MyNamespace.CustomClaimsAuthenticationManager, MyAssembly<\/span>&quot;<span style=\"color: blue\">\/&gt;\r\n\r\n    &lt;\/<\/span><span style=\"color: #a31515\">service<\/span><span style=\"color: blue\">&gt;\r\n  &lt;\/<\/span><span style=\"color: #a31515\">microsoft.identityModel<\/span><span style=\"color: blue\">&gt;\r\n&lt;\/<\/span><span style=\"color: #a31515\">configuration<\/span><span style=\"color: blue\">&gt;\r\n<\/span><\/pre>\n<p><a href=\"http:\/\/11011.net\/software\/vspaste\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>digg_url = &#8220;http:\/\/blogs.msdn.com\/vbertocci\/archive\/2010\/05\/11\/a-hidden-gem-the-wif-config-schema.aspx&#8221;;digg_title = &#8220;A Hidden Gem: The WIF Config Schema&#8221;;digg_bgcolor = &#8220;#FFFFFF&#8221;;digg_skin = &#8220;normal&#8221;;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined; During the WIF workshops I get various recurring questions: some have open-ended answers which would satisfy my logorrhea but that require A LOT of time to write, others are just&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1375,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[9,5,4],"tags":[],"class_list":["post-360","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-identity","category-wif","category-windows-identity-foundation"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":0,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media\/1375"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}