我刚刚试用了新的 Office 365 Api 工具预览版,当 Web 身份验证代理在 Windows 8 应用程序中打开时,我总是收到错误消息。我第一次使用该应用程序时能够登录,但从那时起,我什至没有机会登录就收到此错误。请参阅下面的错误屏幕截图(它们具有白色背景):
Web 身份验证代理屏幕上的消息:
在我点击代理上的后退按钮后,我收到第二条错误消息:
如果我点击“退出”按钮,什么也不会发生。我还尝试清除所有缓存,并关闭所有其他浏览器 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/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss
我有一些非常大的模型,我必须将它们迁移到最新版本的Rails。这些模型有相当多的验证(User有大约50个验证)。是否可以将所有这些验证移动到另一个文件中?说app/models/validations/user_validations.rb。如果可以,有人可以提供示例吗? 最佳答案 您可以为此使用关注点:#app/models/validations/user_validations.rbrequire'active_support/concern'moduleUserValidationsextendActiveSupport:
当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested
我有一个服务模型/表及其注册表。在表单中,我几乎拥有服务的所有字段,但我想在验证服务对象之前自动设置其中一些值。示例:--服务Controller#创建Action:defcreate@service=Service.new@service_form=ServiceFormObject.new(@service)@service_form.validate(params[:service_form_object])and@service_form.saverespond_with(@service_form,location:admin_services_path)end在验证@ser
我正在学习Rails,并阅读了关于乐观锁的内容。我已将类型为integer的lock_version列添加到我的articles表中。但现在每当我第一次尝试更新记录时,我都会收到StaleObjectError异常。这是我的迁移:classAddLockVersionToArticle当我尝试通过Rails控制台更新文章时:article=Article.first=>#我这样做:article.title="newtitle"article.save我明白了:(0.3ms)begintransaction(0.3ms)UPDATE"articles"SET"title"='dwdwd