使用 TokenCredentials 的 Exchange Web 服务 (EWS) 单点登录?

Posted

技术标签:

【中文标题】使用 TokenCredentials 的 Exchange Web 服务 (EWS) 单点登录?【英文标题】:Exchange Web Services (EWS) Single Sign-On using TokenCredentials? 【发布时间】:2012-12-12 10:58:21 【问题描述】:

我正在 android 应用程序中使用 EWS Java API 1.2。使用用户名/密码WebCredentials 登录可以正常工作:

ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials("domain\\username", "password");
service.setCredentials(credentials);

我想提供一个身份验证令牌,而不是每次都提供密码。 EWS API 包含一个TokenCredentials 类,但如何使用它?给定用户名和密码,如何生成可重复使用的身份验证令牌?一旦我生成了这样一个令牌,它的有效期是多久?

【问题讨论】:

你有没有得到这个问题的任何地方?我也在做类似的事情,如果你能分享你是如何解决这个问题的(如果你做到了),那将会很有用。 @utomas:从未找到解决方案 所以 6 年后问题仍然存在。有什么解决办法吗? 【参考方案1】:

您现在可以使用 OAuth 令牌:http://msdn.microsoft.com/en-us/library/office/dn626019(v=exchg.150).aspx。这个话题在几周前刚刚更新了一些基本信息。

【讨论】:

虽然可能有用的信息,但这并不是这个问题的真正答案。默认情况下,Exchange 服务器似乎不支持 OAuth,需要第三方身份验证提供程序。此外,如何向 EWS Java API 提供令牌的基本问题仍然存在。 咪咪,感谢您愿意提供帮助。最好在答案中包含链接的重要部分,因为不幸的是,链接可能会并且确实会随着时间的推移而损坏。 感谢 Laszlo 的提示,我以后一定会这样做的。我在想更多关于这个线程。我了解 EWS 和 EWS 托管 API,但对 Java API 了解不多。 Java API 是否允许您向请求添加标头?如果是这样,那么我认为您可以让 OAuth 与 EWS Java API 一起使用 - 或者这就是我的假设。 不幸的是,这是非常非常基本的信息:(

以上是关于使用 TokenCredentials 的 Exchange Web 服务 (EWS) 单点登录?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在使用 GCD 时收到错误 EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

使用 self.window?.makeKeyAndView() 时的 EXC_BREAKPOINT

removeFromSuperview 的 EXC_BAD_ACCESS - 使用 ARC

使用 Restkit MainQueueManagedObjectContext 的奇怪崩溃 - EXC_BAD_ACCESS

错误:“线程 1:EXC_BAD_ACCESS(代码=EXC_I386_GPFLT)

使用 ALAssetsLibraryassetForURL:resultBlock:failureBlock 的 EXC_BAD_ACCESS 错误: