Ошибка аутентификации диспетчера ресурсов Azure - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь использовать node.js для доступа к менеджеру ресурсов Azure с помощью следующего примера кода:

msRestAzure.interactiveLogin(function(err, credentials) {
	if (err) console.log(err);
 var client = new resourceManagement.ResourceManagementClient(credentials, 'token');
 client.resources.list(function(err, result) {
   if (err) console.log(err);
   console.log(result);
 });
});

При запуске я получаю следующую ошибку:

 { Error: The access token is from the wrong issuer 'https://sts.windows.net/token/'. It must match the tenant 'https://sts.windows.net/token/' associated with this subscription. Please use the authority (URL) 'https://login.windows.net/token' to get the token. Note, if the subscription is transferred to another tenant there is no impact to the services, but information about new tenant could take time to propagate (up to an hour). If you just transferred your subscription and see this error message, please try back later.
    at client.pipeline.error (D:\azure-arm\node_modules\azure-arm-resource\lib\resource\operations\resources.js:496:19)
    at retryCallback (D:\azure-arm\node_modules\ms-rest\lib\filters\systemErrorRetryPolicyFilter.js:89:9)
    at retryCallback (D:\azure-arm\node_modules\ms-rest\lib\filters\exponentialRetryPolicyFilter.js:140:9)
    at D:\azure-arm\node_modules\ms-rest\lib\filters\rpRegistrationFilter.js:59:14
    at handleRedirect (D:\azure-arm\node_modules\ms-rest\lib\filters\redirectFilter.js:39:9)
    at D:\azure-arm\node_modules\ms-rest\lib\filters\formDataFilter.js:23:14
    at Request.defaultRequest [as _callback] (D:\azure-arm\node_modules\ms-rest\lib\requestPipeline.js:125:16)
    at Request.self.callback (D:\azure-arm\node_modules\request\request.js:185:22)
    at emitTwo (events.js:106:13)


    at Request.emit (events.js:191:7)

В любом месте, где вы видите токен, я заменил фактическое значение, которое было там.Идентификатор подписки, который я предоставляю, верен.Я попытался войти в систему напрямую, а не использовать ключ выше, и это имело тот же эффект.В идеале мы хотели бы, чтобы приложение в Azure имело доступ к API руки, но это не похоже на то, что это возможно в активной директории, и я не могу заставить это работать.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 27 февраля 2019

Я использовал ms-rest-azure версии 2.6.0 и azure-arm-resource версии 7.3.0, и он работал нормально для меня с тем же кодом.

Я думаю, что это безопасно для аутентификации, используя способ аутентификации субъекта службы или обычную аутентификацию, а не способ интерактивной аутентификации входа.У нас есть шаги этих других способов аутентификации здесь -> https://github.com/Azure/azure-sdk-for-node/blob/master/Documentation/Authentication.md#using-authentication-in-your-nodejs-script, которые вы можете попробовать, если хотите.

Кроме того, так как вы в идеале ищете приложение в Azure для доступа к ARMAPI, так что я думаю, что стоит прочитать эту статью -> https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-api-authentication

Надеюсь, это поможет !!

...