首页 > 解决方案 > 为 Skype for Business Online 开发 UCWA 应用程序

问题描述

我正在尝试开发一个简单的 java 客户端,该客户端需要访问 Skype for Business API 以设置在线会议(即,我需要通过调用 UCWA API 来检索简单的设置会议 URL)。

我一步一步地遵循了这个微软教程:

https://docs.microsoft.com/en-us/skype-sdk/ucwa/developingucwaapplicationsforsfbonline

我有一个 Office 365 商业高级版许可证并且我配置了一个自定义域(在区域 DNS 文件中正确注册和添加);

  1. 我在 Azure 上配置并注册了我的 java 客户端应用程序(注意为 Skype for Business 功能分配所需的委派权限);
  2. 我执行了登录阶段,Azure 能够识别我;
  3. 我执行了自动发现阶段以检索用户的 UCWA 主池;
  4. 我向 Azure oauth2 端点发送了一个 GET 请求,响应为 401 错误(这是身份验证握手的预期行为);
  5. 不幸的是,当我使用隐式授权流请求访问令牌时失败了:Azure 使用登录 HTML 页面而不是包含 oauth2 访问令牌的 json 对象进行响应。

这个 GET 请求有什么问题?

GET https://login.microsoftonline.com/oauth2/authorize?
response_type=id_token
&client_id=my_application_client_id
&redirect_uri=configured_redirect_uri
&state=UUID_generated_code
&resource=UCWA_home_pool 
HTTP/1.1 

这个 GET URL 看起来像用于登录阶段(第 3 步)的那个;我怀疑这不是正确的请求 URL。

我尝试将我的域放在 URL 上:

https://login.microsoftonline.com/my_domain_name/oauth2/authorize

我尝试输入一个通用域名(如文档中所述):

https://login.microsoftonline.com/common/oauth2/authorize

但 Azure 仍会以登录页面(以及响应代码 200 OK)进行响应。

有人能帮助我吗?

标签: javaoffice365azure-active-directoryskype-for-businessucwa

解决方案


下载最新的清单文件后,请检查应用程序清单中的 oauth2AllowImplicitFlow 属性。它应该设置为 true 才能正常工作。如果它仍然是错误的,那么我希望重定向到您所看到的登录页面。

此处提供更详细的步骤 - 为您的应用配置 OAuth 隐式授权流程


推荐阅读