c# - IDX10511 : Signature validation failed. key 已尝试 : 'Microsoft. IdentityModel.Tokens.X509SecurityKey

标签 c# azure-active-directory azure-ad-graph-api verify

我们有一个 Angular 应用程序,它使用电容器-oauth2 库从我们的 Azure AD 和 Azure B2C AD 获取 token 。 Wenn 我有来自 B2C 的 token ,我可以使用我的 Program.cs 中的以下代码来验证它,并且我可以调用我的 Controller Funktion

builder.Services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    })
    .AddJwtBearer("B2C", options =>
    {
        options.Authority = $"https://eisvogel2.b2clogin.com/eisvogel2.onmicrosoft.com/B2C_1_susi/v2.0/";
        options.Audience = $"6fba7d06-5b7a-41bd-8371-6f1ad6f3176c";
    });

但是我从我们的内部 AD 获得了一个 token ,该 token 来自 MS Graph 我可以做我想做的事情我总是得到以下异常:

enter image description here

为此,我使用 Studio 在创建带有身份验证的新解决方案时生成的代码 builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd")); 并更改了配置 enter image description here

我已经尝试过各种帖子的结论,但没有真正的帮助

我知道有很多类似的帖子,我现在搜索了三天。如果有人能将我推向正确的方向,那就太好了。

备注:我忘了说我是在 .NET 6 上构建该解决方案的。与之前的版本有什么不同吗?

最佳答案

感谢@kavya Saraboju 再次向我指出这篇文章。经过更多的叮叮之后,我明白我必须在服务器和客户端上使用相同的范围。它必须是您可以在 Azure 中的“公开 API”下找到的范围名称,如下所示 =>

“范围”:“api://xxxa2967-1111-2222-3333-xxx9c0d72231/tasks.read”,

我玩过很多范围,比如 openid/从 http://开始,只是名称没有任何作用。 因此,对于所有其他人:有数百个具有不同想法的示例 => 只需从 Azure 复制数据,如果您有多个应用程序必须处理 Azure AD,则配置必须相同。

关于c# - IDX10511 : Signature validation failed. key 已尝试 : 'Microsoft. IdentityModel.Tokens.X509SecurityKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74196824/

相关文章:

c# - 在根目录中获取文件数组的最有效方法(如果存在)

c# - DeleteFiles 任务从匹配列表中排除单个文件

angular - 使用 MSAL.js 通过 Angular 在 Azure AD 中创建用户

c# - 如何使用 ADAL 在 .NET 中获取代表用户 token

azure - 如何使用 Azure AD Graph API 中的 'alternate email' 属性获取用户详细信息

c# - 使用通配符在 csproj 中包含内容

c# - 哪种解决方案更适合从数据库获取随机记录集?

azure - AADB2C嵌入式密码重置: Local account discover is not being fired

azure-active-directory - Exchange 2016 将 TlsCertificateName 分配给接收连接器时出错

azure-active-directory - 如何找到需要 Microsoft Graph "Read directory data"权限的 Azure AD 应用程序的管理员同意 URL?