title: Windows Identity Foundation 4.5 Configuration
body: <p>We have an application that was originally built with .NET 4.0 and WIF 3.5 (1.0?). I'm in the process of converting it to use WIF 4.5 as we've upgraded the app to .NET 4.5. I've got all the code changes made and have been fighting with the configuration settings. My current dilemma is with the &lt;claimTypeRequired&gt; element. According to <a href="http://msdn.microsoft.com/en-us/library/hh598930.aspx" rel="noreferrer">this documentation</a> it should be a child of &lt;identityConfiguration&gt;, but when I modify my config to look like this</p>
  
  <pre><code>&lt;system.identityModel&gt;
    &lt;identityConfiguration&gt;
      &lt;claimTypeRequired&gt;
        ...
      &lt;/claimTypeRequired&gt;
  </code></pre>
  
  <p>I get the following error at run-time</p>
  
  <pre><code>Parser Error Message: Unrecognized element 'claimTypeRequired'.
  </code></pre>
  
  <p>If I just comment out the &lt;claimTypeRequired&gt; block I get past that error but then I'm presented with another problem. We had modified the maximumClockSkew in the existing application via the following configuration</p>
  
  <pre><code>&lt;securityTokenHandlerConfiguration&gt;
    &lt;maximumClockSkew value="1" /&gt;
  &lt;/securityTokenHandlerConfiguration&gt;
  </code></pre>
  
  <p>The configuration documentation referenced earlier doesn't even mention the maximumClockSkew. I figured I'd try leaving it in to see what happens. What happens is</p>
  
  <pre><code>Parser Error Message: Property 'maximumClockSkew' is not a ConfigurationElement.
  </code></pre>
  
  <p>But when I look at the SecurityTokenHandlerConfigurationElement class using JustDecompile I can see the property:</p>
  
  <pre><code>[ConfigurationProperty("maximumClockSkew", IsRequired=false, DefaultValue="00:05:00")]
  [IdentityModelTimeSpanValidator(MinValueString="00:00:00")]
  [TypeConverter(typeof(TimeSpanOrInfiniteConverter))]
  public TimeSpan MaximumClockSkew...
  </code></pre>
  
  <p>So it seems like it's expecting it to be there.</p>
  
  <p>It's almost like Microsoft doesn't actually want us to use this stuff.</p>