UCWA使用grant_type = password刷新Oauth令牌

Kaf*_*nek 4 lync ucwa

我正在尝试使用Lync UCWA刷新OAuth令牌,请按照此处的示例进行操作,https: //msdn.microsoft.com/en-us/library/office/dn356686.aspx#sectionSection3

他们的文档中的示例使用grant_type urn:microsoft.rtc:anonmeeting,但我使用的是grant_type =密码.我的客户端首先成功通过/ WebTicket/oauthtoken端点进行身份验证,我收到access_token就好了.

几个小时后,我需要通过以下参数再次发布到/ WebTicket/oauthtoken来刷新OAuth令牌:

grant_type=password
username=$my_username
password=$my_password
ms_rtc_renew=$access_token (cwt=AA....)
Run Code Online (Sandbox Code Playgroud)

这是返回状态400,但有一个错误:invalid_request和标题"无效安全令牌"中的注释.我在ms_rtc_renew中输入的值与我在其他端点的所有标头中使用的值相同,'Authorization':['Bearer $ access_token'],因此令牌工作正常.

我确保在发布到/ WebTicket/oauthtoken端点时使用Content-Type的头文件:application/x-www-form-urlencoded,并且我在发布之前对数据进行了urlencoding.

有没有其他人能够使用Lync UCWA 1.0和grant_type =密码刷新OAuth令牌?任何经验丰富的UCWA开发人员都会识别我在帖子中遗漏的内容以刷新令牌?

提前致谢.

She*_*byZ 5

ms_rtc_renew特定于匿名会议授权类型.在同一文件中,它提到:

为经过身份验证的用户刷新令牌与获取新令牌的流程相同.

这是正确的思路,但它确实省略了一些关键信息.如果您有兴趣保持原有的UCWA应用程序有效,则必须在应用程序上执行POST请求时提供相同的信息,否则将创建新的应用程序.

扩大的答案

当您到达UCWA应用程序返回404请求并指示当前OAuth令牌无效时,需要续订.按照KeyTasks-CreateApplication的步骤,在步骤#5上请求新的令牌.此时,获取新令牌并替换Authorization标头并尝试发出失败的请求.

如果这不起作用,请考虑使用相同的数据(UserAgent,EndpointId,Culture)重新创建应用程序(步骤#9).您需要替换任何已保存的Json数据,因为应用程序Url可能会在实例之间进行更改(并非完全确定).