Ошибка: 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
});

person Sushmita singh    schedule 07.09.2016    source источник


Ответы (1)


Взглянем на как написана функция msRestAzure.interactiveLogin в ms-rest-azure, похоже, что существует параметр «домен» или клиент, который вы можете передать, если вы являетесь участником более чем одного Azure Active Directory (жилец).

Вы должны передать клиента, привязанного к вашей подписке. Это должно быть предоставлено вам в полном текущем сообщении об ошибке, которое вы получите. Клиент может выглядеть как contoso.com, contoso.onmicrosoft.com или это может быть GUID.

Это устраняет неоднозначность вашего вызова аутентификации, явно указывая, какой каталог следует использовать.

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

person Matt H    schedule 07.09.2016
comment
Привет, да, мне пришлось войти в систему из учетной записи администратора службы, а затем выполнить аутентификацию. - person Sushmita singh; 10.09.2016
comment
Проблема решена после передачи идентификатора клиента, как было предложено. Однако теперь мне нужно вызвать interactiveLogin и дважды открыть браузер, чтобы получить необходимые учетные данные. Ты хоть представляешь, как мне избежать двойной аутентификации? Спасибо. - person Nuntipat Narkthong; 19.01.2019