- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Angular 10 应用程序,它使用 oidc 对 Azure AD 进行身份验证。它成功获取 token ,然后对 WCF 服务(.net framework 4.7)进行 REST 调用,发送它从 Azure 收到的 token 。 WCF 服务中的验证代码失败并显示以下错误:
IDX10511:签名验证失败。尝试过的键:'System.Text.StringBuilder'。 child :'System.String'。捕获异常:'System.Text.StringBuilder'。 token :'System.IdentityModel.Tokens.Jwt.JwtSecurityToken'。
如果我使用 Auth0 进行身份验证,则相同的 WCF 代码能够验证来自 Auth0 的 jwt,没有错误。
下面是我的 oidc 客户端的 UserManagerSettings:
this.stsSettings = {
authority: "https://login.microsoftonline.com",
client_id: myclientId,
redirect_uri: `${myclientRoot}signin-callback`,
scope: "openid profile email",
response_type: "code",
loadUserInfo: false, // setting loadUserInfo to true causes error because CORS blocks the call to the user info endpoint.
post_logout_redirect_uri: `${myclientRoot}signout-callback`,
silent_redirect_uri: `${myclientRoot}assets/silent-callback.html`,
metadata: {
issuer: `${mystsAuthority}/${mytenantId}/v2.0`,
authorization_endpoint: `${mystsAuthority}/${mytenantId}/oauth2/v2.0/authorize`,
token_endpoint: `${mystsAuthority}/${mytenantId}/oauth2/v2.0/token`,
"jwks_uri": `https://login.microsoftonline.com/${mytenantId}/discovery/v2.0/keys`,
}
我在 WCF 服务中的 C# 代码来验证 token
JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
JwtSecurityToken jwtToken = tokenHandler.ReadToken(token) as JwtSecurityToken;
if (jwtToken == null)
{
return null;
}
IConfigurationManager<OpenIdConnectConfiguration> configurationManager = new ConfigurationManager<OpenIdConnectConfiguration>($"{Properties.Settings.Default.ValidIssuer.TrimEnd('/')}/.well-known/openid-configuration", new OpenIdConnectConfigurationRetriever());
OpenIdConnectConfiguration openIdConfig = await configurationManager.GetConfigurationAsync(CancellationToken.None);
var validationParameters = new TokenValidationParameters()
{
LifetimeValidator = LifetimeValidator,
ValidAudiences = new[] { Properties.Settings.Default.CommaDelimitedValidAudiences },
AudienceValidator = AudienceValidator,
ValidIssuer = Properties.Settings.Default.ValidIssuer,
ValidateLifetime = true,
RequireExpirationTime = true,
ValidateIssuer = true,
ValidateAudience = true,
ValidateIssuerSigningKey = false,
IssuerSigningKeys = openIdConfig.SigningKeys,
RequireSignedTokens = false
};
SecurityToken securityToken;
var principal = tokenHandler.ValidateToken(token, validationParameters, out securityToken);
return principal;
}
catch (Exception ex)
{
return null;
}
异常发生在代码
tokenHandler.ValidateToken(token, validationParameters, out securityToken);
我尝试了各种在线建议、在 Azure 中添加范围、“0 字节前缀”的解决方法等,但它们没有奏效。
最佳答案
我张贴这个以防万一它会帮助别人。
我主要通过在 Azure AD 中添加一些额外配置来解决这个问题。我转到“公开 API”并添加了一个新范围(保留所有默认值并将“myapi”放在“范围名称”、“管理员同意显示名称”和“管理员同意描述”字段中。然后单击“添加”一个客户端应用程序”,输入我的应用程序的客户端 ID(可以在概述中找到),勾选授权范围复选框,然后单击“添加应用程序”。完成此操作后,范围有一个类似于“api://09098082309823009ljo24”的条目/myapi”,我复制了它。然后我将它添加到我的 oidc 客户端的 UserManagerSettings 的范围中。这个值成为我的 token 中的受众,您可能需要验证您的 token 。
关于angular - 尝试验证 Azure AD token 时收到错误 "IDX10511: Signature validation failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63865103/
我在 another question 中遇到此错误消息我想知道签名中的 $: 部分是什么意思? Cannot resolve caller index(Str: Str, Any); none of
Android Studio 2.3 Generate Signed Apk Second Step Signature Verification v1(Jar Signature), v2(Full
我正在尝试使用 PHPMailer 类使用 DKIM 对电子邮件进行签名,但我无法让它工作。 当我在 gmail 上看到我的电子邮件中的 header 时,我发现该类已成功在电子邮件 header 中
我正在尝试 Animal Sniffer . 我已经创建了 .signature 文件。但是要运行 check,我需要一个“签名 Artifact ”。 org.codehaus.mojo.
我想知道 Crypto.Signature.PKCS1_v1_5 和 Crypto.Signature.pkcs1_15 有什么区别? 在documentation他们使用此函数 Crypto.Sig
我正在尝试使用 AWS S3 SDK 上传图片。现在这之前可以工作,但由于某种原因它停止工作并且我开始收到此错误: 现在,当我点击链接时,它给我一个“NoSuchKey”错误: 我不太明白这一点,因为
当 Facebook 发送实时更新时,它们会在 HTTP header 中包含 X-Hub-Signature。根据他们的文档(http://developers.facebook.com/docs/
我正在使用 NuGet 的 Stripe.net SDK。我总是得到 The signature for the webhook is not present in the Stripe-Signat
从 DocumentDB 请求文档时,我偶尔会遇到 UnauthorizedException。该问题看起来类似于 Azure DocumentDB - The MAC signature found
我用我自己的文件替换了不同 dpi 文件夹中的默认 Logo 文件“ic_launcher.png”,也命名为“ic_launcher.png”,但现在我收到此错误: Error: failed to
当 Facebook 发送实时更新时,它们会在 HTTP header 中包含一个 X-Hub-Signature。根据their documentation ,他们使用 SHA1 和应用程序 sec
我有兴趣将带有 RSA 签名的 SHA-1 散列应用于某些数据,但我需要分两步进行 - 首先应用散列,然后对数据进行签名。 Signature.sign() 函数似乎创建了一个更复杂的(ASN.1?)
我将 spring boot 和 spring security 与 JWT on rest 服务一起使用。我使用了以下链接中的代码: https://www.javainuse.com/spring
我正在使用 Stripe 提供的代码来测试 webhook。 Stripe secret 和端点 secret 已经过三重检查。 Stripe 版:6.19 正文解析器:1.19 当我在 Stripe
我有一个调用 Firebase 函数的条纹 webhook。在这个函数中,我需要验证这个请求来自 Stripe 服务器。这是代码: const functions = require('firebas
我已经在网上搜索了两天多,并且可能浏览了大多数在线记录的场景和解决方法,但到目前为止没有任何效果。 我使用的是在 PHP 5.3 上运行的 PHP V2.8.7 的 AWS SDK。 我尝试使用以下代
您好,我正在使用 WooCommerce API - Node.js 客户端 https://www.npmjs.com/package/woocommerce-api 我正在尝试创建一个需要向服务器
我正在尝试创建一个预签名 URL,以帮助某些客户上传文件。这是我当前正在运行的测试脚本 # Get the service client. s3 = boto3.client('s3') boto3.
我编写了一个类,旨在使用服务器上的私钥对文本字符串进行签名和 base64,然后返回签名。每次针对相同文本运行时,它都会生成不同的签名。它为什么要这么做呢?我通过在我的测试机器上暂时禁用转换来检查是否
我们正在使用支持 OAuth 2 多边身份验证的 API。尝试运行我的 rest sharp 客户端 OAuth1Authenticator 实现时出现以下错误: Message: HTTP Stat
我是一名优秀的程序员,十分优秀!