我有使用JWT令牌作爲驗證的問題。問題在於流程調用JwtSecurityTokenHandler.ReadOnlyCollection ValidateToken(SecurityToken令牌)函數。這是過時的,它告訴我使用函數JwtSecurityTokenHandler.ClaimsPrincipal ValidateToken(字符串securityToken,TokenValidationParameters validationParameters,out SecurityToken validatedToken)。但我如何做到這一點?與WS聯盟的JWT配置
我的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>