oauth-2.0 - 使用 OAuth 交换 Web 服务,使用访问令牌,但如果有刷新令牌则失败
问题描述
使用 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 库,他们会为您处理这个问题。
推荐阅读
- c - C中的信号处理
- php - 通过 PHP 重复 Google Slides API“请求”的函数
- github-actions - 提取 .zip 文件的 Github 操作步骤?
- xpath - Google Sheets IMPORTXML 的 XPath - 在 h1 和最后一个 p 标签之间找到的所有文本(包括)
- java - 矩阵打印不正确
- java - 在HashMap中添加新的键值对时,插入顺序会发生什么变化?
- javascript - 如何验证 MarkLogic 中的 dateTime 输入?
- python - 用 openpyxl 覆盖整个列
- python - 在熊猫中使用单独的时间戳列进行最小/最大分组
- java - 设置 bean 属性“mongoOperations”时无法解析对 bean“mongoTemplate”的引用