获取异常而验证访问令牌

问题描述 投票:0回答:1

我得到以下异常。我已经使用POST方法来获得令牌使用服务主体消息=“IDX10708:‘System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler’无法读取该字符串

我生成使用“访问令牌” https://login.microsoftonline.com/ {} TenantId /的oauth2 /令牌”,并试图验证

            SecurityToken securityToken;
            JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
            IConfigurationManager<OpenIdConnectConfiguration> configurationManager =
                   new ConfigurationManager<OpenIdConnectConfiguration>(
                       $"https://login.microsoftonline.com/{tenantId}/.well-known/openid-configuration",
                       new OpenIdConnectConfigurationRetriever());

            OpenIdConnectConfiguration openIdConfig = await configurationManager.GetConfigurationAsync(CancellationToken.None);
            TokenValidationParameters validationParameters = new TokenValidationParameters()
            {
                ValidateLifetime = true,
                IssuerSigningKeys = openIdConfig.SigningKeys,
                ValidateIssuerSigningKey = true,
                RequireSignedTokens = true

            };

            var userClaims = handler.ValidateToken(token, validationParameters, out securityToken);
            return userClaims.Claims.Where(claim => claim.Type == "appid").FirstOrDefault().Value;

我得到的例外,同时验证

c# azure validation access-token
1个回答
0
投票

请尝试通过把try / catch块来验证码,并查看在调试器中要求值如uniquer_name等

你可以按照这个线索更加清晰: -

When is JWTSecurityTokenHandler.ValidateToken() actually valid?

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.