I'm baffled with this error. I've looked everywhere and googled everything I know.
I'm updating an application from dotnet 4.5.3 to dotnet 4.8. The setup hasn't changed dramatically, this identity config has not changed in a long time. The updated code runs good in the development and test environments. Now it's time to update the qa environment. There are new servers for this upgrade. All run the same version of Windows 10 (just the latest). I have installed dotnet 4.8 on all of them. I have verified that the System.IdentityModel.dll
is present in the GAC. (I even decompiled the assembly and verified that this class is present in it.) I have verified that the dll is referenced in my .csproj file.
Yet, when I start the website, this is the error that greets me.
Let me repeat that this same code works fine in development and test environments, yet the same build fails in the qa environment. This is the configuration causing the problem.
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="MF.Framework.Security.CustomClaimsAuthenticationManager, MF.Framework.Data" />
<audienceUris>
<add value="https://some.client.com/ws/IRNExternalOrderCS_v2_2" />
<add value="https://login.to.another.client.com/services/trust" />
<add value="https://more.clients.com/idp/shibboleth" />
<add value="https://test.westeurope.cloudapp.azure.com/AuthServices" />
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel">
<trustedIssuers>
<add name="IdSrv" thumbprint="value-redacted" />
</trustedIssuers>
</issuerNameRegistry>
<certificateValidation certificateValidationMode="None" />
<securityTokenHandlers>
<clear />
<add type="System.IdentityModel.Tokens.Saml2SecurityTokenHandler, System.IdentityModel" />
<securityTokenHandlerConfiguration>
<audienceUris>
<add value="https://some.client.com/ws/IRNExternalOrderCS_v2_2" />
<add value="https://another.client.com/idp/shibboleth" />
<add value="https://test.westeurope.cloudapp.azure.com/AuthServices" />
</audienceUris>
</securityTokenHandlerConfiguration>
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
If anybody has ideas why this isn't loaded from the GAC, I'm all ears.