我正在使用Angular 8开发一个应用程序,并尝试通过其REST API连接到Azure Data Lake Gen 2 的文件系统,以便能够检索文件夹列表以及进行文件导入。
对于身份验证,我使用库msal-angular,它允许我通过函数检索ID令牌和通过loginPopup
函数检索访问令牌acquireTokenSilent
。
我使用这个方案作为指导:aad connection flow
范围:['user.read','api://<uuid>/user_impersonation']
。api 范围
然后我使用storage-datalake库尝试从我的数据湖中检索信息。所以我使用登录用户的访问令牌来创建一个DataLakeStorageClient
with TokenCredentials
. 然后我尝试恢复我的一个文件系统上的文件夹列表。
我收到此错误:401 (Server failed to authenticate the request. Please refer to the information in the www-authenticate header.)
。
你知道我的问题可能来自哪里吗?
我的用户具有以下角色:
- 贡献者
- 存储 Blob 数据贡献者
API 权限: api 权限
当我在没有用户模拟(作为服务主体)的情况下使用END-USER 身份验证时,我可以访问我的文件系统......
预先感谢您的帮助。