【问题标题】:Skype For Business Online supproted by Azure AD 2.0?Azure AD 2.0 是否支持 Skype For Business Online?
【发布时间】:2018-09-04 12:40:23
【问题描述】:

我开发了一个与 Microsoft Graph API 集成并使用 Azure 2.0 API 进行身份验证的应用程序。 从 Microsoft Graph 我可以获取用户。 现在我想查看每个用户的在线信息,因此我需要使用 Skype 进行在线业务。

我发送请求到:

https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root

一个用户的href是:

https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user

我从以下地址获得了https://webdir0f.online.lync.com 的访问令牌:

https://login.microsoftonline.com/<mytenant>/oauth2/v2.0/token

并且令牌没有“角色”声明,这很奇怪。 比 https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user 还给我 500。

有没有办法使用 Azure 2.0 访问 Skype For Business Online? 在 Skype For Business Online 中,我是否可以在没有登录用户的情况下获取状态信息?

更新: 我能够使用客户端密码获取范围 https://webdir0f.online.lync.com/Contacts.ReadWrite 的访问令牌。

【问题讨论】:

  • 如果您今天早上遇到错误,可能是由于 Azure 当前的中断情况,这对 Azure AD 有直接影响。有关详细信息,请查看 AzureSupport twitter 帐户以及 Azure 状态仪表板。 azure.microsoft.com/en-us/status
  • 谢谢!实际上我的问题一般是这样的:是否可以授权 Azure 2.0 Application for Skype For Business ?看起来我无法获得正确的“aud”声明以继续进行。

标签: azure-active-directory microsoft-graph-api skype-for-business


【解决方案1】:

小修正,这里不是“Azure 2.0”,而是 Azure Active Directory 的“App v2”或更常见的“v2 Endpoint”。

v2 Endpoint 有多个 well-known limitations,并非所有 API 和功能都受支持。 Skype 和 Skype for Business API 都缺乏对 v2 Endpoint 的支持。

一般来说,除非它是最近发布的 API 或由 Microsoft Graph 提供,否则它仅适用于 v1 Endpoint 颁发的令牌。

【讨论】:

  • 嗯,是的。 Azure AD 2.0(v2 终结点)。到目前为止,我设法访问并完成了所有自动发现过程,为每个自动发现跃点提供权限 Contacts.ReadWrite。最后我得到了 /applications,所以现在我认为答案是肯定的,这是可能的。明天我会尝试读取存在。
  • 顺便说一句,如果有另一种方法可以在后台将用户存在从 SFB 同步到我的服务守护进程而不是登录用户 - 我想知道它。看起来 Microsoft.Graph 在这里缺乏支持。以及受信任的应用程序。
  • @norekhov - 你能解释一下如何 - 使用“Contacts.ReadWrite”提供权限吗?
【解决方案2】:

我设法使用 Azure 2.0 应用程序访问 Skype For Business。只是遵循了指导方针。 在自动发现期间,您需要将范围设置为下一个用户或重定向 uri,如下所示:https://webdir0f.online.lync.com/Contacts.ReadWrite

比 Azure 2.0 意识到它是 Skype For Business uri 和范围并且可以正常工作。 虽然 Skype For Business API 仍然很旧并且很难使用。

我还没有找到从 Sfb API 获取所有其他公司用户存在信息的方法。 等到受信任的应用程序 API 起作用似乎是有意义的。

尝试获取应用程序令牌也不起作用。

【讨论】:

  • 你能解释一下 - 使用“Contacts.ReadWrite”提供的权限吗?
  • 我记不太清了,抱歉。但是正如我提到的,您无法获得“隐式身份验证”。只有完整的 OAuth。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
  • 1970-01-01
  • 2017-02-28
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多