为Skype for Business Online开发UCWA应用程序

时间:2018-09-04 10:48:30

标签: java office365 azure-active-directory skype-for-business ucwa

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

我逐步遵循了此Microsoft教程:

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上:

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

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

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

但是Azure仍然使用登录页面进行响应(响应代码为200 OK)。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

下载最新的清单文件后,请检查应用程序清单中的oauth2AllowImplicitFlow属性。应该将此设置为true。如果仍然为假,那么只有您看到的时候,我才能期望重定向到登录页面。

此处更详细的步骤- Configure your app for OAuth implicit grant flow