【发布时间】:2021-10-12 21:40:00
【问题描述】:
我收到以下代码错误: var authResult = 等待 authContext.AcquireTokenAsync(Url, appCred, 新用户断言(accessToken));
授权码
var clientID = ConfigurationManager.AppSettings["ClientID"];
var clientSecret = ConfigurationManager.AppSettings["ClientSecret"];
var tenant = ConfigurationManager.AppSettings["Tenant"];
var appCred = new ClientCredential(clientID, clientSecret);
var authContext = new AuthenticationContext(
"https://login.microsoftonline.com/" + tenant);
var authResult = await authContext.AcquireTokenAsync(Url, appCred,
new UserAssertion(accessToken));
错误:
断言签名验证失败。 [原因 - 提供的签名值与预期的签名值不匹配。,客户端使用的密钥指纹:'', 找到键 'Start=**']
跟踪 ID:603df266-b9b4-4b27-8216-effc8b879a01
相关 ID:9a7990ea-41ae-47a0-97da-ceb7cb07ecf0
时间戳:2021-08-09 06:46:28Z
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AdalHttpClient.d__211.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AdalHttpClient.<GetResponseAsync>d__201.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__67.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__64.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenOnBehalfHandler.d__2.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__55.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__50.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__35.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 .ServicesController.cs:line 378 中的 SpoWebApi.Controllers.AlbathaServicesController.d__13.MoveNext()
Microsoft.IdentityModel.Clients.ActiveDirectory
【问题讨论】:
-
请分享您的完整令牌或授权请求代码。
-
请找到更新后的问题
-
您是否尝试过任何官方示例,如果是,请同时参考
-
@MdFaridUddinKiron,不,这是现有代码。 azure 中的客户端机密已过期。创建新秘密后,我收到此错误。
-
您能否尝试使用具有相同凭据的
post man获取令牌,如果您能获得它,那么问题将证明您的凭据很好,因为您的代码看起来没问题所以请测试令牌先上postman。
标签: c# .net azure asp.net-core authentication