2016-07-22 140 views
0

我正在使用交互式网络sdk登录https://ucwa.skype.com/websdk。我使用Azure AD登录成功登录。使用F12工具,我可以看到,我有一个有效的oauth标记。UCWA - 针对不同应用的不同结果

现在,我拿这个令牌,并尝试通过这样的GET请求得到一个Person对象:_HTTPS://webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications/113782897528/me

这是结果:

{ 
"uri": "sip:[email protected]", 
"name": "john doe", 
"_links": { 
    "self": { 
    "href": "/ucwa/oauth/v1/applications/111364079681/me" 
    } 
}, 
"rel": "me" 

}

我想到什么是对我这样的详细信息:

{ 
    "uri": "sip:[email protected]", 
    "name": "john doe", 
    "emailAddresses": [ 
    "xxx" 
    ], 
    "company": "my company name", 
    "workPhoneNumber": "tel:+123456789", 
    "endpointUri": "sip:xxx;opaque=user:epid:4JNzkgeuabct-CSuIgYV8gAA;gruu", 
    "_links": { 
    "self": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/me" 
    }, 
    "note": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/me/note" 
    }, 
    "presence": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/me/presence" 
    }, 
    "location": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/me/location" 
    }, 
    "reportMyActivity": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/me/reportMyActivity" 
    }, 
    "photo": { 
     "href": "/ucwa/oauth/v1/applications/113782897528/photos/xxxx" 
    } 
    }, 
    "rel": "me" 
} 

我发现结果取决于应用程序ID。如果我打开Office365门户网站(_https://outlook.office.com/owa)并使用F12工具搜索有效的应用程序ID,那么我会得到预期的结果。即使使用我从交互式web sdk示例中获得的OAuth令牌。所以这不能是安全或许可问题? 我授予对azure管理门户中所有权限的访问权限。

而且很奇怪的是,我得到了相同的OAuth令牌不同的状态代码为这两个非常相似的请求

_HTTPS://webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications//ME /存在

- > 200 OK

_HTTPS://webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications//ME /存在

- > 403禁止

{ 
    "code": "Forbidden", 
    "message": "The requested operation isn't allowed." 
} 

那么,为什么会出现两个应用程序,什么之间的差异是需要得到同样的结果?蔚蓝配置中是否缺少任何东西?

感谢您的帮助

回答

0

UCWA,并为商务在线在更大程度上的Skype处于预览阶段这可能有助于解释为什么你看到一个不同的结果这两个应用程序之间。以用户身份登录O365门户网站时,您很可能从Exchange获取补充信息,或者门户网站能够使用未公开公开的内部API(和许可)从UCWA接收更多信息。

如果我没有记错及以上您的要求的例子是如下:

  • /UCWA/OAuth的/ V1 /应用/ 113782897528/ME /存在 - O365门户
  • /UCWA/OAuth的/ V1 /应用程序/ 112861033140/ME /存在 - 非门户

你所看到的是,使用在线客户端时,存在目前尚未启用(一个更好的词可能是API不是公开曝光)为UCWA。

0

在应用程序之间共享令牌似乎是一种安全违规。该令牌是为特定资源提供的,服务器可能会验证您提供的令牌是否与该应用程序创建的范围匹配。 你试图通过共享令牌来执行什么样的场景?

1

通过“读取/写入Skype用户信息(预览)”授权权限,可以在预览模式下访问状态。您可能没有访问它,但这里的是什么样子Azu​​re中的广告图片,如果你这样做:

SfB Online Permissions

我创建一个连接到SFB在线,并允许您基于UCWA原生应用程序设置你的存在:

https://github.com/tamhinsf/ucwa-sfbo-console

只需按照README注册自己的应用程序和插件的设置为我的代码。我将每个API调用的结果输出到控制台,以便您可以看到发生了什么。

我也制作了你一直使用的Interactive Web SDK Samples的分支,它将Azure AD设置整合到单个文件中。您可能希望本地副本更仔细地检查和修改呼叫:

https://github.com/tamhinsf/skype-web-sdk-samples