无法针对 Microsoft Graph API 颁发的令牌验证 Azure AD B2C 的签名

阿拉什

三天来,我一直在尝试为以下代码验证图形 API 令牌时遇到的异常寻找解决方案:

 var configManager = new ConfigurationManager<OpenIdConnectConfiguration>(
                            $"{_authenticationSettings.Authority}/.well-known/openid-configuration",
                            new OpenIdConnectConfigurationRetriever());
                        var config = await configManager.GetConfigurationAsync();
                        _validationParameters = new TokenValidationParameters
                        {
                            IssuerSigningKeys = config.SigningKeys,
                            ValidateAudience = true,
                            // Audience MUST be the app ID aka clientId
                            ValidAudience = _authenticationSettings.ClientId,
                            ValidateIssuer = true,
                            ValidIssuer = config.Issuer,
                            ValidateLifetime = true
                        };

var tokenHandler = new JwtSecurityTokenHandler();
var result = tokenHandler.ValidateToken(authHeader.Parameter, _validationParameters, out var jwtToken);

调用ValidateToken和读取时发生异常,如下所示:

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException: 'IDX10511: 签名验证失败。尝试过的键:'System.Text.StringBuilder'。孩子:'System.String'。捕获异常:'System.Text.StringBuilder'。令牌:'System.IdentityModel.Tokens.Jwt.JwtSecurityToken'。'

我真的没有理由这样做了。任何想法或建议来解决这个问题?

这些包是:

    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.8.0" />
    <PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="6.8.0" />

即使这个解决方案也不是决定性的。

阿拉什

Graph API 令牌不能也不应该被验证,因此签名验证失败。在 GitHub 上查看此答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure AD B2C错误-IDX10501:签名验证失败

Microsoft Graph是否已经处理Azure AD B2C用户CRUD?

如果用户具有MFA,则检索Azure AD B2C Graph API

SharePoint + Azure AD + Microsoft Graph API

Azure AD B2C-Microsoft Graph API-Authorization_IdentityNotFound

如何从Microsoft Graph Explorer连接到Azure AD B2C

Azure AD B2C,Graph API和应用程序处于故障状态

使用Microsoft.Graph.GraphServiceClient查询时,Azure AD B2C用户无法正确填充

如何通过Graph API在Azure AD B2C中重置用户密码?

在Azure AD B2C中使用Azure AD Graph API创建用户

无法验证从Azure AD获得的访问令牌签名以保护Web API

通过Microsoft Graph API创建新的AD B2C用户

Microsoft Graph API是否支持Azure AD B2C的更改通知?

带有Azure AD B2C的Microsoft Graph API:获取所有用户及其组成员身份

Microsoft Graph SDK不返回Azure AD B2C用户的自定义属性值

Azure AD Graph API无法访问Microsoft帐户

使用 Graph API 对 Azure AD B2C 上的用户进行身份验证

使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问

Azure AD B2C Graph API 参考在哪里?

在 Azure AD B2C 中使用 Microsoft.Graph SDK 创建本地帐户

将 Azure AD Graph API over MS Graph 与 Active Directory B2C 结合使用的建议存在冲突

Azure B2C:Microsoft Graph API - InvalidAuthenticationToken

Microsoft Graph API - 在 Azure AD B2C 中使用本地帐户标识创建用户会出现 Request_ResourceNotFound 错误

调用 Microsoft Graph API 以获取 Azure AD B2C 中的用户

如何使 Azure AD access_token 符合 Microsoft Graph API 之外的签名验证?

Microsoft Graph API 中缺少 Azure B2C 注册电子邮件?

无法使用“颁发者分配的 ID”从 Azure B2C AD 中删除“用户”

如何使用 Azure AD B2C 从 Microsoft Graph 获取用户标识对象

Microsoft graph 更改 azure ad b2c 用户密码不起作用