从Azure取回令牌以访问Microsoft Graph后无法调用函数

时间:2019-04-12 19:35:32

标签: javascript node.js azure

我正在编写一个Azure函数,该函数采用了Microsoft的OAuth令牌,我已经能够成功获取该令牌。我正在尝试使用该令牌访问Microsoft Graph。从Microsoft收到令牌后,我的功能在10分钟后超时并且没有通过'path/to/my/module#MyModuleClass',我是Azure的新手,无法弄清楚为什么我不能调用第二个函数带有从Microsoft返回的令牌的值或带有硬编码的值。

非常感谢您的帮助:)

我已经尝试将令牌值硬编码到函数中,更改超时时间,并添加各种context.log()-但是无法过去接收令牌。我也尝试过将.end()删除到我的POST调用中。

context.log('CALLING MS GRAPH'.)

1 个答案:

答案 0 :(得分:0)

请检查您租户中设置的访问令牌寿命。

这实际上不是由Microsoft Graph确定的,而是由Azure Active Directory确定的。对于给定的租户,可以使用Configurable token lifetimes in Azure Active Directory (Public Preview)来配置生命周期。

此功能仍处于“预览”状态,因此该功能可能会在当前版本和常规版本之间更改。

此配置是针对每个租户,服务主体或应用程序的。如果在应用程序上配置它,则该策略将应用于多租户应用程序,除非被服务主体或租户级别的策略所取代。

Access令牌的最长生存期为24小时(最短为10分钟,默认为1小时)。

通常,应该调整刷新令牌,而不是调整访问令牌的生存期。它们的使用寿命更长,为14天。

刷新令牌

当客户端获取访问令牌以访问受保护的资源时,客户端还将收到刷新令牌。当前访问令牌过期时,刷新令牌用于获取新的访问/刷新令牌对。刷新令牌绑定到用户和客户端的组合。刷新令牌可以随时撤销,并且每次使用令牌时都会检查令牌的有效性。刷新令牌在用于获取新的访问令牌时不会被撤消-但是,最佳做法是在获取新令牌时安全删除旧令牌。