代表流 returns AADSTS50013:断言签名验证失败
On behalf of flow returns AADSTS50013: Assertion failed signature validation
我正在使用 this package 从 React 本机移动应用程序对用户进行身份验证。获取访问令牌后,我将它发送到我的 .net WebAPI,它试图调用 ConfidentialClientApplication.AcquireTokenOnBehalfOf。
React 本机移动应用程序和 webapi 都使用来自 azure 应用程序注册和范围的相同客户端 ID。
public async Task<AuthenticationResult> AquireTokenOnBehalfOf(IEnumerable<string> scopes, string jwt)
{
var userAssertion = new UserAssertion(jwt);
var res = await ConfidentialClientApplication.AcquireTokenOnBehalfOf(scopes, userAssertion).ExecuteAsync();
return res;
}
它returns下面的错误:
Microsoft.Identity.Client.MsalUiRequiredException: 'AADSTS50013: 断言签名验证失败。 [原因 - 提供的签名值与预期的签名值不匹配。客户端使用的密钥指纹:'9CEA37643ACE0D710AD63296857B251D1FCA5C48',找到密钥 'Start=12/21/2020 20:50:17, End=12/20/2025 20:50:17']
跟踪 ID:a03a5cf8-8d05-4bd2-a47a-ce3a1ce70e00
关联 ID:8b42b1c2-21bc-4d63-9b90-bafb81f83d32
时间戳:2021-02-23 14:13:26Z'
我按照此设置了 Azure AD 应用程序。我没有使用 JWT 承载中间件,而是从客户端接收访问令牌并使用它创建一个 UserAssertion 并调用 ConfidentialClientApplication.AcquireTokenOnBehalfOf
我是不是配置有误?
谢谢
我仔细按照示例 here 进行了此操作。我没有配置应用程序注册的“公开 API”blade 所需的内容,随后没有添加新的 api 权限。
我正在使用 this package 从 React 本机移动应用程序对用户进行身份验证。获取访问令牌后,我将它发送到我的 .net WebAPI,它试图调用 ConfidentialClientApplication.AcquireTokenOnBehalfOf。 React 本机移动应用程序和 webapi 都使用来自 azure 应用程序注册和范围的相同客户端 ID。
public async Task<AuthenticationResult> AquireTokenOnBehalfOf(IEnumerable<string> scopes, string jwt)
{
var userAssertion = new UserAssertion(jwt);
var res = await ConfidentialClientApplication.AcquireTokenOnBehalfOf(scopes, userAssertion).ExecuteAsync();
return res;
}
它returns下面的错误:
Microsoft.Identity.Client.MsalUiRequiredException: 'AADSTS50013: 断言签名验证失败。 [原因 - 提供的签名值与预期的签名值不匹配。客户端使用的密钥指纹:'9CEA37643ACE0D710AD63296857B251D1FCA5C48',找到密钥 'Start=12/21/2020 20:50:17, End=12/20/2025 20:50:17'] 跟踪 ID:a03a5cf8-8d05-4bd2-a47a-ce3a1ce70e00 关联 ID:8b42b1c2-21bc-4d63-9b90-bafb81f83d32 时间戳:2021-02-23 14:13:26Z'
我按照此设置了 Azure AD 应用程序。我没有使用 JWT 承载中间件,而是从客户端接收访问令牌并使用它创建一个 UserAssertion 并调用 ConfidentialClientApplication.AcquireTokenOnBehalfOf
我是不是配置有误?
谢谢
我仔细按照示例 here 进行了此操作。我没有配置应用程序注册的“公开 API”blade 所需的内容,随后没有添加新的 api 权限。