oauth2.0 Azure AD B2C JWT令牌签名验证失败

kuuvgm7e  于 2023-01-25  发布在  其他
关注(0)|答案(1)|浏览(230)

我尝试使用下面的代码验证一个有效的JWT,但是得到了一个奇怪的错误

[Error]   IDX10516: Signature validation failed. Unable to match key: 
kid: '-KI3Q9nNR7bRofxmeZoXqbHZGew'. 
Number of keys in TokenValidationParameters: '1'. 
Number of keys in Configuration: '0'. 
Exceptions caught:
 '[PII of type 'System.Text.StringBuilder' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'. 
token: '[PII of type 'System.IdentityModel.Tokens.Jwt.JwtSecurityToken' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'. Valid Lifetime: 'True'. Valid Issuer: 'False'
    • 代码:**

我已经看到了很多关于这个问题的参考链接,但仍然没有得到我错过了什么?我试图在本地测试,它的工作完美,但部署到Azure功能后,它失败了。
配置设置:
x一个一个一个一个x一个一个二个x

b1zrtrql

b1zrtrql1#

如错误所述,您的令牌验证器尝试在jwks_uri中查找用于签名令牌的公钥,您可以在您的well-knownURL中找到它。
每个令牌都有一个头“KID”,这个头表示用于签名令牌的公钥的ID。当我检查您的jwks_uri时,没有ID为:

"-KI3Q9nNR7bRofxmeZoXqbHZGew"

但是:

"veMP2TrHLgs4XvKYJhumvhPW6O-WpbdSGqKdetRmvxI"

相关问题