gpt4 book ai didi

lync - UCWA 使用 grant_type=password 刷新 Oauth token

转载 作者:行者123 更新时间:2023-12-03 02:14:06 26 4
gpt4 key购买 nike

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

他们文档中的示例使用 grant_type urn:microsoft.rtc:anonmeeting,但我使用 grant_type=password。我的客户端首先成功地针对/WebTicket/oauthtoken 端点进行身份验证,并且我很好地收到了 access_token。

几个小时后,我需要使用以下参数再次发布到/WebTicket/oauthtoken 来刷新 OAuth token :

grant_type=password
username=$my_username
password=$my_password
ms_rtc_renew=$access_token (cwt=AA....)

这会返回状态 400,并带有错误:invalid_request 和标题中的注释“没有有效的安全 token ”。我放入 ms_rtc_renew 中的值与我在其他端点的所有 header 中使用的值相同,“Authorization”:['Bearer $access_token'],因此 token 工作正常。

我已确保在发布到/WebTicket/oauthtoken 端点时使用 Content-Type: application/x-www-form-urlencoded header ,并且在发布之前对数据进行 urlencoded。

是否有其他人能够使用 Lync UCWA 1.0 和 grant_type=password 刷新 OAuth token ?任何有经验的 UCWA 开发人员都知道我在刷新 token 的帖子中缺少什么吗?

提前致谢。

最佳答案

ms_rtc_renew 特定于匿名 session 授权类型。在同一文档中,它提到:

Refreshing a token for authenticated users is the same flow as acquiring a new token.

这是正确的思路,但它确实遗漏了一些关键信息。如果您有兴趣保持原始 UCWA 应用程序有效,则需要在对应用程序执行 POST 请求时提供相同信息,否则它将创建一个新应用程序。

扩展答案

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

如果这不起作用,请考虑使用相同的数据(UserAgent、EndpointId、Culture)重新创建应用程序(步骤 #9)。您需要替换任何已保存的 Json 数据,因为应用程序 URL 可能会在实例之间发生变化(不完全确定)。

关于lync - UCWA 使用 grant_type=password 刷新 Oauth token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com