windows-applications - Web 身份验证代理总是失败?

标签 windows-applications azure-active-directory office365-apps

我刚刚试用了新的 Office 365 Api 工具预览版,当 Web 身份验证代理在 Windows 8 应用程序中打开时,我总是收到错误消息。我第一次使用该应用程序时能够登录,但从那时起,我什至没有机会登录就收到此错误。请参阅下面的错误屏幕截图(它们具有白色背景):

Web 身份验证代理屏幕上的消息: Message on web authentication broker screen

在我点击代理上的后退按钮后,我收到第二条错误消息: error alert

如果我点击“退出”按钮,什么也不会发生。我还尝试清除所有缓存,并关闭所有其他浏览器 session 。由于第一次登录成功,我知道应用程序配置正确。就好像它不知何故进入了一个糟糕的状态,然后缓存了一些无效的东西,阻止它正确导航到登录页面。

最后要注意的是,除了创建一个全新的 Windows 8 应用程序和添加具有共享点访问权限的连接服务引用之外,我对该项目所做的唯一其他事情是将起始页更改为:

 rootFrame.Navigate(typeof(GroupedItemsPage), e.Arguments);
 rootFrame.Navigate(typeof(SharePointSamplePage), e.Arguments);

有什么我可以清除以将应用程序重置回原始状态的吗?或者有人知道这个错误的解决方案吗? 我以前在我开发的其他应用程序上看到过它,但这只是暂时的,在这种情况下它会反复发生。

更新:

经过更多的开发时间后,我实际上在我正在处理的另一个应用程序中看到了同样的问题。无论为调试构建、为发布构建、清理解决方案、清除缓存等,WebAuthenticationBroker 失败的情况都是一样的……第二个不相关的项目没有使用 Office365 Api 工具,也没有使用新的 Azure Active Directory 库Office365 api 工具示例代码中使用的 AuthorizationContext 类。它直接使用 WebAuthenticationBroker.authenticateAsync 方法。这意味着问题可能是由较低级别的问题引起的,与 Office 工具或 AAD 库无关。此外,虽然 WebAuthenticationBroker 继续失败,但我仍然可以使用浏览器通过相同的服务进行身份验证,这意味着它还没有低到足以成为实际网络问题的程度。这个问题似乎持续了不同的时间段,几分钟或一个小时,下次我运行该应用程序时,它神奇地按预期运行。

这是开发的主要障碍,因为如果无法验证和检索访问 token ,则无法发出任何请求。考虑到这个错误有多严重,而且似乎没有其他人提示这个问题,也许这是一个环境问题?是否有任何设置会间歇性地导致此问题?

最佳答案

WebAuthenticationBroker 会进行一些缓存,这可能会导致发送错误的 token ,具体取决于您是否在原始身份验证和现在之间更改了租户。看来重置 Windows 密码可能是强制刷新 token 的最简单方法。如果您尝试此操作,请分享您的经验。

另外:如果以上确实是您的问题,并且您仍然需要能够在同一个应用程序中支持多个租户,请参阅:http://msdn.microsoft.com/en-us/library/azure/dn151789.aspx

关于windows-applications - Web 身份验证代理总是失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22715487/

相关文章:

c# - FiddlerCore如何解密HTTPS流量

.net - 部署后显示我的 Windows 应用程序的背景图像时出错

azure - 将 localhost 添加到 Azure AD/应用程序注册重定向 URL 是否存在安全风险?

java - 将 Azure AD 身份验证与 AWS 中托管的现有基于 Java 的 Web 应用程序集成的可能选项?

office365 - 在 Outlook 2016 中的 Office 365 组日历中创建 session 时禁用加载项

c# - 电视卡申请

c# - 在 SQL Server 中保存文件和图像

Azure AD Connect 组成员资格未同步

javascript - Office 加载项开发 : Insert image/picture in Word 2016

ios - 从 iOS Office 应用启动 'App for Office'