使用 OAuth 交换 Web 服务,使用访问令牌,但如果有刷新令牌则失败
Exchange Web Services with OAuth, works with Access Token, but fails if have Refresh Token
使用 Exchange Web 服务并尝试在我的日历上创建会议。当我通过创建会议的调用传递 AccessToken 时,我可以让它工作。但是,当我使用完全相同的调用传递 AccessToken 和 RefreshToken 时,我收到 401 - Unauthorized 异常。我怀疑我的 portal.azure.com 配置不正确。有什么想法吗?
However, when I pass the AccessToken and the RefreshToken with the exact same call
您不应该在身份验证期间传递刷新令牌,这不是不记名身份验证的工作方式。 RefreshToken 的目的是让您能够在您拥有的 AccessToken 过期时(例如,每 60 分钟)获得一个新的 AccessToken。您需要在 EWS 中执行的任何操作之外进行令牌管理,例如,在调用 EWS 之前,您应该检查令牌是否已过期,如果已过期,则使用刷新令牌获取新的访问令牌。如果您使用 ADAL 或 MSAL 等 Auth 库,他们会为您处理。
使用 Exchange Web 服务并尝试在我的日历上创建会议。当我通过创建会议的调用传递 AccessToken 时,我可以让它工作。但是,当我使用完全相同的调用传递 AccessToken 和 RefreshToken 时,我收到 401 - Unauthorized 异常。我怀疑我的 portal.azure.com 配置不正确。有什么想法吗?
However, when I pass the AccessToken and the RefreshToken with the exact same call
您不应该在身份验证期间传递刷新令牌,这不是不记名身份验证的工作方式。 RefreshToken 的目的是让您能够在您拥有的 AccessToken 过期时(例如,每 60 分钟)获得一个新的 AccessToken。您需要在 EWS 中执行的任何操作之外进行令牌管理,例如,在调用 EWS 之前,您应该检查令牌是否已过期,如果已过期,则使用刷新令牌获取新的访问令牌。如果您使用 ADAL 或 MSAL 等 Auth 库,他们会为您处理。