Azure ADAL - 如何获取刷新令牌/如何刷新 nodejs 后端服务器到服务器连接的访问​​令牌?

Azure ADAL - How to get refresh token / how to refresh access token for nodejs backend server to server connection?

我正在为我的 Node JS 后端使用 adal-node 模块将文件写入 Azure 存储。身份验证工作正常,但我获得的访问令牌仅在 1 小时内有效。到目前为止,我还是找不到刷新访问令牌的方法。有人可以建议吗?

我已尝试获取刷新令牌。但是我在下面使用的身份验证功能不会发回刷新令牌。我也尝试过一段时间后使用相同的身份验证功能创建一个新令牌,但事实证明该令牌始终相同。

这是我用来获取访问令牌的代码。

var AuthenticationContext = require('adal-node').AuthenticationContext;

var authorityHostUrl = 'https://login.windows.net';
var tenant = 'myTenant.onmicrosoft.com'; // AAD Tenant name.
var authorityUrl = authorityHostUrl + '/' + tenant;
var applicationId = 'yourApplicationIdHere'; // Application Id of app registered under AAD.
var clientSecret = 'yourAADIssuedClientSecretHere'; // Secret generated for app. Read this environment variable.
var resource = '00000002-0000-0000-c000-000000000000'; // URI that identifies the resource for which the token is valid.

var context = new AuthenticationContext(authorityUrl);

context.acquireTokenWithClientCredentials(resource, applicationId, clientSecret, function(err, tokenResponse) {
  if (err) {
    console.log('well that didn\'t work: ' + err.stack);
  } else {
    console.log(tokenResponse);
  }
});

需要一些方法来刷新我的访问令牌,这样我漫长的 运行 工作就不会停止。

只需获取一个新的访问令牌。

在客户端凭据流程中,未返回刷新令牌。 (请参阅 OAuth 2.0 规范的 Section 4.4.3。)