背景
我们的应用程序与Office365之间有一个功能,使用Office365 REST API(此处)同步日历条目和联系人。我们正在使用API的版本1。对于授权,我们通过Azure AD进行授权,如此处所述。
问题
在正常情况下(使用直接从Microsoft购买的Office365帐户),我们的系统按预期工作:当用户的令牌过期时,我们能够刷新其令牌,并交换新的访问和刷新令牌。
在第二种情况下,当测试使用 通过GoDaddy购买的 Office365 帐户时,我们遇到了一个阻塞问题,可以概括为以下一系列步骤: 1. 用户从我们的应用程序 -> Office365 登录页面发送。 2. 用户输入电子邮件地址。 3. 用户被重定向到 GoDaddy Office365 登录页面。 4. 用户完成授权,并通过响应中的访问代码重定向回我们的应用程序。 5. 应用程序从 Office365 中交换访问代码以获取访问令牌和刷新令牌。 6. 一段时间过去后,访问令牌过期。 7. 应用程序使用刷新令牌刷新用户的访问令牌。
期望行为
此时,我们期望收到一个新的访问令牌以及一个新的刷新令牌,就像使用普通 Office365 帐户一样。
实际行为
仅适用于通过 GoDaddy 购买的帐户,在第一次刷新后,我们不会收到响应中的新刷新令牌。
显然,当打算进行长时间同步时,这是一个破坏性的案例,因为用户将无法在此之后刷新其令牌。
Postman跟踪(可以保存为.json文件并导入到Postman进行调试 https://gist.github.com/drunkel/7ec66ed33f66d0070148694651699d03 (已删除ID和密钥)
问题:
- 这是已知问题吗?
- 有解决方法吗?
correlation_id
吗?您可以使用像Fiddler这样的网络跟踪工具找到它。 - Daniel Dobalianx-ms-request-id →12a84a47-3ab6-4358-8bc8-eb54c48a0c00
。这正确吗? - drunkel