我有一个mvc Web应用程序,我已经发布到Windows Azure。我想使用Office 365 Active Directory在登录时进行身份验证。我已经用Azure窗口输入了一张票,他们已经把我送到了这里。
我觉得我已经接近搞清楚了。当我选择登录时,它会将我带到微软登录页面并查看我的身份验证,但在返回我的应用程序时,我收到以下错误。我已经更改了客户端密钥十几次并重新创建了azure发布配置文件和azure app。
错误:
远程服务器返回错误:(401)未经授权。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Net.WebException:远程服务器返回错误:(401)未经授权。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[WebException:远程服务器返回错误:(401)未经授权。] System.Net.HttpWebRequest.GetResponse()+ 1465 Microsoft.IdentityModel.Clients.ActiveDirectory.d__2.MoveNext()+378 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58 Microsoft.IdentityModel.Clients.ActiveDirectory.d__0`1.MoveNext()+ 410
[AdalServiceException:AADSTS70002:验证凭据时出错。 AADSTS50012:**提供了无效的客户端密钥 跟踪ID:fa6387cc-0e46-417d-a109-0d6f356b619b 相关ID:5bf34f08-6b63-4845-b684-85ddc6d27e27 时间戳:2015-09-21 13:00:07Z] Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask(任务`1任务)+89 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenByAuthorizationCode(String authorizationCode,Uri redirectUri,ClientCredential clientCredential,String resource)+64 NavPO.Startup.b__7_0(AuthorizationCodeReceivedNotification context)+279 Microsoft.Owin.Security.OpenIdConnect.d__1a.MoveNext()+ 4931 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+26 Microsoft.Owin.Security.OpenIdConnect.d__1a.MoveNext()+6453 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58 Microsoft.Owin.Security.Infrastructure.d__0.MoveNext()+ 581 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58 Microsoft.Owin.Security.Infrastructure.d__0.MoveNext()+225 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.d__5.MoveNext()+ 187 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58 Microsoft.Owin.Security.Infrastructure.d__0.MoveNext()+ 561
答案 0 :(得分:3)
从错误消息:
AdalServiceException:AADSTS70002:验证凭据时出错。 AADSTS50012:**提供了无效的客户端密码
您的应用中正在运行Azure AD代码,正在尝试完成登录流程。它没有这样做,因为您的Web应用程序中配置的客户端密码(可能在您的web.config中)不正确 - 即它不匹配Azure AD应用程序中配置的任何秘密。
以下面的示例作为起点,并将其与您的应用进行比较,以了解可能出现错误配置的地方:
https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet