首页 文章

需要Windows Azure应用程序来验证Office 365 Active Directory

提问于
浏览
1

我有一个mvc Web应用程序,我已发布到Windows Azure . 我想使用Office 365 Active Directory在登录时进行身份验证 . 我已经用Azure窗口输入了一张票,他们已经把我送到了这里 .

我觉得我已经接近搞清楚了 . 当我选择登录时,它会将我带到微软登录页面并查看我的身份验证,但在返回我的应用程序时,我收到以下错误 . 我已经更改了客户端密钥十几次,并重新创建了azure发布配置文件和azure应用程序 .

错误:

远程服务器返回错误:(401)未经授权 . 描述:执行当前Web请求期间发生未处理的异常 . 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息 .

异常详细信息:System.Net.WebException:远程服务器返回错误:(401)未经授权 .

来源错误:

在执行当前Web请求期间生成了未处理的异常 . 可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息 .

堆栈跟踪:

[WebException:远程服务器返回错误:(401)Unauthorized . ] 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(Task`1 task)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(Task任务)99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)58 Microsoft.Owin.Security.Infrastructure.d__0.MoveNext()581 System.Runtime.Com pilerServices.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

1 回答

  • 3

    从错误消息:

    **AdalServiceException: AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided

    您的应用中正在运行Azure AD代码,尝试完成登录流程 . 它没有这样做,因为您的Web应用程序(可能在您的web.config中)中配置的客户端密钥不正确 - 即它与Azure AD应用程序中配置的任何机密都不匹配 .

    请查看以下示例作为起点,并将其与您的应用进行比较,以查看可能配置错误的位置:

    https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet

相关问题