首页 > 解决方案 > 使用 OAuth 交换 Web 服务,使用访问令牌,但如果有刷新令牌则失败

问题描述

使用 Exchange Web 服务并尝试在我的日历上创建会议。当我将 AccessToken 与创建会议的调用一起传递时,我就可以让它工作。但是,当我使用完全相同的调用传递 AccessToken 和 RefreshToken 时,我得到一个 401 - Unauthorized 异常。我怀疑我对 portal.azure.com 的配置有误。有任何想法吗?

标签: oauth-2.0exchangewebservicesazureportal

解决方案


 However, when I pass the AccessToken and the RefreshToken with the exact same call

您不应该在身份验证期间传递刷新令牌,这不是不记名身份验证的工作方式。RefreshToken 的目的是让您能够在您拥有的AccessToken 过期时(例如每60 分钟)获得一个新的AccessToken。您需要在 EWS 中执行的任何操作之外进行令牌管理,例如,在调用 EWS 之前,您应该检查令牌是否已过期,如果有,则使用刷新令牌获取新的访问令牌。如果您使用像 ADAL 或 MSAL 这样的 Auth 库,他们会为您处理这个问题。


推荐阅读