Ошибка:InvalidAuthenticationTokenTenant'токен доступа от неправильного эмитента
Я использую Node js для аутентификации в Azure AD для создания учетной записи хранения озера данных, она входит в систему, но для создания учетной записи выдает ошибку: code: 'InvalidAuthenticationTokenTenant', сообщение: 'Маркер доступа от неправильного эмитента \' https://sts.windows.n/ et \ '. Он должен соответствовать арендатору https://sts.windows.net/, связанному с этой подпиской.
var msRestAzure = require('ms-rest-azure');
var adlsManagement = require("azure-arm-datalake-store");
msRestAzure.interactiveLogin(function(err, credentials) {
var accountName = 'testadlsacct';
var pathToEnumerate = '/myfolder';
var acccountClient = new adlsManagement.DataLakeStoreAccountClient(credentials, 'dxxxxxxx-dxxx-4xxx-bxxx-5xxxxxxxxx');
var filesystemClient = new adlsManagement.DataLakeStoreFileSystemClient(credentials);
var util = require('util');
var resourceGroupName = 'testrg';
var accountName = 'testadlsacct';
var location = 'eastus2';
var accountToCreate = {
tags: {
testtag1: 'testvalue1',
testtag2: 'testvalue2'
},
name: accountName,
location: location
};
var client= new adlsManagement.DataLakeStoreAccountClient(credentials, 'dxxxxxxxx-xxx-xxxx--xxxxxx');
client.account.create(resourceGroupName, accountName, accountToCreate, function (err, result, request, response)
//other code here
});
1 ответ
Взглянув на то, как написана функция msRestAzure.interactiveLogin для ms-rest-azure, выясняется, что существует параметр "домен" или арендатор, который можно передать в случае, если вы являетесь участником нескольких Azure Active Directory (арендатор).
Вы должны передать арендатора, который привязан к вашей подписке. Это должно быть дано вам в полном, текущем сообщении об ошибке, которое вы получаете. Арендатор может выглядеть как "contoso.com", "contoso.onmicrosoft.com", или это может быть GUID.
Это устраняет неоднозначность вашего вызова аутентификации, явно указав, какой каталог следует использовать.
Надеюсь, это поможет!