Невозможно получить доступ к файловой системе Azure Data Lake Gen2 с Angular, используя azure-sdk-for-js - PullRequest
1 голос
/ 30 октября 2019

Я занимаюсь разработкой приложения с Angular 8 и пытаюсь подключиться к Файловой системе Azure Data Lake Gen 2 через REST API , чтобы иметь возможностьполучить список папок, а также выполнить импорт файла.

Для аутентификации я использую библиотеку msal-angular , которая позволяет мне получить токен ID черезloginPopup функция и токен доступа через acquireTokenSilent функцию.

Я использую эту схему в качестве руководства: поток подключения

Область применения: ['user.read','api://<uuid>/user_impersonation']. api scopes

Затем я использую библиотеку storage-datalake , чтобы попытаться получить информацию из моего озера данных. Поэтому я использую токен доступа моего пользователя, зарегистрированного для создания DataLakeStorageClient с TokenCredentials. Затем я пытаюсь восстановить список папок на одной из моих файловых систем.

Я получаю эту ошибку: 401 (Server failed to authenticate the request. Please refer to the information in the www-authenticate header.).

У вас есть идеи, где моя проблема можетоткуда?

Мой пользователь имеет следующие роли:

  • Участник
  • Автор данных хранилища BLOB-объектов

API-разрешения: API-разрешения

Когда я использую END-USER-аутентификацию без олицетворение пользователя (как участник службы) Я могу получить доступ к своей файловой системе ...

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 30 октября 2019

Область действия не верна. Вы не можете использовать два вида ресурсов в области. user.read для ресурса https://graph.microsoft.com. api://<uuid>/user_impersonation для вашего собственного ресурса.

Вы можете попробовать ['https://datalake.azure.net/.default'] в качестве области действия.

...