小编Att*_*czy的帖子

IDX10501:签名验证失败。孩子:“[PII 隐藏]”,令牌:“[PII 隐藏]”-Azure B2C

我创建了一个示例应用程序,用户可以在其中使用运行良好的 Azure B2C 进行身份验证。我取回令牌和 AuthenticationResult。两个都可以。但我想从令牌中取回 ClaimPrincipal 。为此,我已将 System.IdentityModel.Tokens.Jwt (5.4.0) nuget 包添加到项目中。

使用以下代码我尝试实现:

string Token = "eyJ0eXAiOiJKV1QiLCJhbGciO*****"; //long token
JwtSecurityTokenHandler jwt = new JwtSecurityTokenHandler();

var validateParams = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
        {
          ValidIssuer = Authority, //https://login.microsoftonline.com/tfp/MYTEANANTNAME.onmicrosoft.com/MYPOLICYNAME/v2.0/" 
          ValidAudience = clientId,  //CLIENTID: Like: b430xxxx-xxxx-xxxx-xxxx-f5c33cxxxxxx
          ValidateAudience = true,
          ValidateLifetime = true,
          ValidateIssuer = true,
        };

SecurityToken secToken;
var claimPrincipal = jwt.ValidateToken(Token, validateParams , out secToken);
Run Code Online (Sandbox Code Playgroud)

但是,当 ValidateToken 被击中时,它会抛出以下异常:

IDX10501: Signature validation failed. Unable to match keys: 
kid: '[PII is hidden]', 
token: '[PII is hidden]'.
Run Code Online (Sandbox Code Playgroud)

你对我应该如何解决这个问题有什么建议吗?

在这种情况下,应用程序是 …

c# jwt .net-core azure-ad-b2c

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net-core ×1

azure-ad-b2c ×1

c# ×1

jwt ×1