我在使用JWT令牌作为验证时遇到了问题。问题是流调用函数JwtSecurityTokenHandler.ReadOnlyCollection ValidateToken(SecurityToken令牌)。这是过时的,它告诉我使用函数JwtSecurityTokenHandler.ClaimsPrincipal ValidateToken(string securityToken,TokenValidationParameters validationParameters,out SecurityToken validatedToken)。但我该怎么做?
我的web.config就是这样配置的。
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
<audienceUris>
<add value="urn:xyz" />
</audienceUris>
<securityTokenHandlers>
<add type="System.IdentityModel.Tokens.JwtSecurityTokenHandler, System.IdentityModel.Tokens.Jwt, Version=4.0.0.0" />
<securityTokenHandlerConfiguration>
<certificateValidation certificateValidationMode="PeerTrust" />
</securityTokenHandlerConfiguration>
</securityTokenHandlers>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add name="XXX" thumbprint="[NNN]" />
</trustedIssuers>
</issuerNameRegistry>
<issuerTokenResolver type="System.IdentityModel.Tokens.NamedKeyIssuerTokenResolver, System.IdentityModel.Tokens.Jwt, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration>
<wsFederation passiveRedirectEnabled="true" issuer="https://xxx/issue/wsfed" realm="urn:xyz" requireHttps="true" />
</federationConfiguration>
</system.identityModel.services>发布于 2014-10-01 07:47:49
对于所有有同样问题的人,。我找到了解决这个问题的办法。这是一个中间解决方案,如果有人能解决这个问题,我还是会很感激的。。
问题是System.IdentityModel.Tokens.Jwt,Version=4.0.0.0已经使它的JwtSecurityTokenHandler上的验证(SecurityToken)函数过时了。
正如我前面提到的,我仍然希望以比我前面描述的两种方法更好的方式解决这个项目。
https://stackoverflow.com/questions/26100350
复制相似问题