检查Microsoft图形令牌到期

时间:2019-09-05 18:11:39

标签: rest authentication oauth-2.0 microsoft-graph

我正在使用访问和刷新令牌来执行一些Microsoft图形查询。访问令牌过期后,我将使用刷新令牌执行标准的令牌刷新过程。当我使用过期的令牌进行查询时,出现以下错误:

{ 
"error": {
      "code": "InvalidAuthenticationToken",
      "message": "CompactToken validation failed with reason code: 80049228.", 
      "innerError": { 
          "request-id": "f4853bd8-1cf1-44eb-b4a6-b3c695223762", 
          "date": "2019-09-05T17:39:42" 
        }
    }
}

我将查询包装在try / catch中,当遇到错误时,我正在比较消息,因为InvalidAuthenticationToken不仅可以在到期时找到,还可以在更多情况下找到。有没有更好的方法来检查访问令牌到期?错误代码本身没有公开是有原因的吗?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用MSAL SDK并让其处理令牌的缓存/刷新。

或者,我建议您仅尝试获取令牌,然后在失败(typically AADSTS700020)时启动用户操作以重新获取令牌。

原因是,令牌可能会由于您无法控制的情况(证书吊销,条件访问策略,多因素要求)而变得无效。如果使用令牌,仅检查令牌到期并不能保证结果成功。